Reapply: Allow yaml2obj to order implicit sections for ELF
This change allows yaml input to control the order of implicitly added sections
(.symtab, .strtab, .shstrtab). The order is controlled by adding a
placeholder section of the given name to the Sections field.
This change is to support changes in D39582, where it is desirable to control
the location of the .dynsym section.
This reapplied version fixes:
- use of a function call within an assert
- failing lld test which has an unnamed section
Additionally, one more test to cover the unnamed section failure.
Reviewers: compnerd, jakehehrlich
Reviewed By: jakehehrlich
Differential Revision: https://reviews.llvm.org/D39749