This change serves to create the initial framework for outputting ELF files from llvm-elfabi.
Sorry this is so large but this, perhaps short of the code for outputting the string table, is about as small of a setup as I can get and still have something testable. You can see the full picture here: https://reviews.llvm.org/D55864. Had I tried to get to exactly this point more directly and not by splitting it probably wouldn't be quite as large or generically written but if possible I'd like to keep some of the generality here since I'll likely add it back soon.
Please add a comment to the top of this test stating what this test is testing. Same goes for all tests.
This test is only testing one of the 4 ELF formats (64-bit LE). You should probably have the other three too?