Add D implementation of Elf-related header files from FreeBSD.

Add D modules for sys/elf.h, sys/elf_common.h, sys/elf32.h,
sys/elf64.h and sys/link_elf.h.
Merge pull request #586 from redstar/freebsd

Add FreeBSD header sys/elf.h
Fix issue 10894: added missing or renamed DDoc parameters (found by fix to 10236)
Fix issue 10894: fixed typos
Fix it so that test_runner works with DIP 37.

As currently implemented, test_runner blows up when it hits a package.d
file, because the module name does not match the file name. This fixes
it so that the name of the package is used in that case.
Merge pull request #589 from dawgfoto/threadTermLocks

add explicit thread_term call to replace atexit
Merge pull request #590 from dawgfoto/autoInit

perform runtime and module initialization when loading DSOs
Merge pull request #591 from dawgfoto/loadLibraryC

publish C interfaces rt_loadLibrary/rt_unloadLibrary
Merge pull request #599 from jmdavis/dip37_fix

Fix it so that test_runner works with DIP 37.
Merge pull request #598 from lionello/bug10894

Fix issue 10894: added missing or renamed DDoc parameters (druntime)
low-level implementation of dynamic loading

- implement rt_loadLibrary/rt_unloadLibrary in src/rt/sections_linux.d
- keep hashmap from link_map* to DSO* structs to gather library
  dependencies and perform thread initialization
- thread local reference count to trigger TLS ctors/dtors
- add core.thread interface to inherit loaded libraries when spawning
  a new Thread
- make dynamic loading functions only available for version (Shared)
- set -version=Shared when building a shared druntime
- loading a shared library when statically linking against druntime
  will cause a link error
- Runtime.loadLibrary and Runtime.unloadLibrary are templated so that
  they are only linked when actually used
- the static libphobos2.a does not depends on libdl