prevent HashTab manipulation during opApply iteration
Fix Issue 10897 - btc, btr and bts shouldn't be safe
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
add unittests for shared libraries

- test EH, GC, init/fini and ModuleInfos for linked and loaded D libraries
add C tests

- linkD - links a D library
- loadD - links druntime, loads a D library
- loadDR - loads druntime, loads a D library
add tests with dependent libraries
add test for C host with D plugins
Merge pull request #593 from dawgfoto/dynamicLoading

dynamic loading
Merge pull request #595 from dawgfoto/fixupHashTab

prevent HashTab manipulation during opApply iteration
Merge pull request #596 from monarchdodra/bt

Fix Issue 10897 - btc, btr and bts shouldn't be safe
Add types for Linux/AArch64.

Only implementation of core.thread is missing.
Merge pull request #602 from redstar/aarch64

Add types for Linux/AArch64.
Add missing types for Linux/ARM.

Only implementation of core.thread is missing.
Merge pull request #603 from redstar/arm

Add missing types for Linux/ARM.
fix glibc links for bits/dlfcn.h
add mangle functions to core.demangle
fix Issue 10976 - thread_joinAll after main exit performed too late

- Move thread_joinAll out of rt_term and call it
  immediately after exiting from main instead.
- Make it an error to call rt_term when other non-daemon
  threads are still running.
- It was not a good idea to call thread_joinAll in rt_term
  because with DLLs threads could have been attached and
  outlive the runtime.
- As a side effect it will be called before `static ~this()`
  of the main thread is run.
Correct and enhance core.cpuid

The bits for the extended features (EAX=7,ECX=0) were off by one.
In addition to the correction the bits for the rdseed and sha
instructions are added with corresponding support functions.

The cpuid bits are documented in the intel architecture software
developer manual, volume 2, chapter 3.2.
http://www.intel.de/content/www/de/de/architecture-and-technology/64-ia-32-architectures-software-developer-manual-325462.html

Information about the new SHA instructions can be found here:
http://software.intel.com/en-us/articles/intel-sha-extensions-implementations
Merge pull request #606 from redstar/cpuid

Correct and enhance core.cpuid
Swap alias initializer syntax to make core.time aliases easier to find.