D: Remove include_text_directories

It has been replaced by include_directories(TEXT).
D: Fix to support linking to shared libs

Uses Ben's language-specific link flag changes.
D: Fix compiler detection on some older compilers
D: Overhaul UseD

Removes:

 * examine_d_source
 * add_d_target

Adds:

 * add_d_headers, a function to generate .di files
 * d_enforce_property, to enforce D property semantics
 * Much better documentation

Changes:

 * Rename create_ddoc add_ddoc, and improve its functionality
 * add_d_unittests can now run the same test binary multiple
   times with different arguments
 * Remove coverage testing support from add_d_unittests, since
   that only works with DMD
 * add_ddoc and add_d_unittests can be given additional
   sources that are not part of their base targets
 * add_d_conditions can now work on multiple specific targets
   in one call
 * Move UseD-specific variables from the Compiler/ modules
   in to UseD itself
D: Improve dependency resolution

Changes away from printed dependencies, improving support for
older compilers, while dropping dependency tracking of textually
imported files.

Instead of calling the D compiler for every object, adds logic
to call the D compiler for dependency tracking once per target.
This speeds scanning up, since the D compiler examines a source
and all of its imported sources (and their imported sources, etc)
every time it generates a depfile.