[ELF][Writer] Refactor Section to not have atoms. Move atoms into AtomSection.

The purpose of this change is to simplify creating non-atom sections.
Previously _contentType, _sectionKind and _order were used for multiple
purposes and collided in places. This moves all of the Atom specific logic down
into AtomSection and makes Section just have raw Elf_Shdr flags.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@175207 91177308-0d34-0410-b5e6-96231b3b80d8
[Core,Driver,ELF] Differentiate static and dynamic executables.

This also adds a simple relocation change for dynamic executables to
x86-64 ELF.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@175208 91177308-0d34-0410-b5e6-96231b3b80d8
Kinda sorta write out dynamic stuff.
SharedLibraryAtom symbolness.
[Driver][GNULD] Default to dynamic.
[ELF][Writer] Valid dynamic symbol table.
[ELF][Writer] Add dynamic table entries and interp section.
[ELF][Writer] Fix interp phdr.
PHDR.
Correct alignment.
Make ldd happy.
Yay symbol table indicies.