Changed the windows build script to directly call the compiler instead of rdmd.

The compiler used can be customized by setting the DC environment variable ("dmd" is the default and "gdmd" or "ldmd" are the most likely alternatives).
Attempt to fix handling of "-Wl" flags returned by "pkg-config".
Fix compilation with latest LDC.
Use -d-debug instead of -debug for LDC.
Use separate compile/link only for dmd (and not for ldmd and gdmd).
Fix LDC linker flag specification and add workaround for conflicting object file names.
Redo build script to directly call the compiler + limited compiler auto-detection.

No rdmd is necessary anymore and the call to "uname -a" has been changed to
"lsb_release -i" to detect the distribution more reliably. This needs to be
properly fixed, though, by looking at the GCC version or by using a
workaround that works on older _and_ newer versions.
Syntax error fix.
Silence lsb_release output.
Attempt to replace the Ubuntu fix by a more generic fix that does not depend on a distribution name. See also #71.
Preparing for the new std.process in Phobos.
Add warning for package names with upper case letters, but handle them gracefully.
Add build workaround also for LDC.
Write the "optional" field out as bool instead of string.
Implement the "noDefaultFlags" build requirement. Fixes #68.
Log warnings/errors/diagnostics to stderr instead of stdout.
Improve JSON pretty printing and appending.
Implement a first version of "dub describe".
Change the file dictionary to a file list for "dub describe"'s output.
Fix object directory for -op switch in the VisualD generator and prepare for different project file directories.

Future versions may choose to put the project files in the .dub directory (the solution file will still stay in the project's root directory).