[lld][LinkingContext] Atoms created from command line options should be available in YAML

This adds an API to the LinkingContext for flavors to add Internal files
containing atoms that need to appear in the YAML output as well, when -emit-yaml
switch is used.

Flavors can add more internal files for other options that are needed.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@189718 91177308-0d34-0410-b5e6-96231b3b80d8
[lld][ELF] Add Init/Fini support

This creates .init_array/.fini_array section for X86_64 ELF
targets and executes init/fini functions specified by the
-init/-fini options respectively.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@189719 91177308-0d34-0410-b5e6-96231b3b80d8