improve linker setup for Win64
set proper attributes for Windows
Merge pull request #659 from Trass3r/fixwin64

improve Win64 build
Add line number to error message of -nogc switch.

This was suggested by bearophile in the news group.
It also changes all Loc objects to be passed by reference.
CMake: Remove obsolete CMake compatibility hack.

Now, we don't even attempt to build threadasm.S on CMake
versions older than 2.8.5 anyway.
CMake: Remove split druntime build support (BUILD_SINGLE_LIB).

The separation between core.*, gc.* and rt.* is frequently
violated today anyway to the point of meaninglessness, and
supporting a split runtime would cause a bit of a headache
for shared library build.
CMake: Remove _Dmain shared library workaround for OS X.

_Dmain is no longer referenced in druntime directly; instead,
we generate the C main() in __entrypoint and invoke _d_run_main
with _Dmain as parameter.
CMake: Clean up excessive variables in runtime build system.

The extra paths were hardcoded (and depended upon in other
places) anyway, so just spell them out for clarity.
CMake: Do not include druntime objects into Phobos library.

This is necessary for shared libraries linked only against
druntime to be possible. The library name has changed to
libphobos2-ldc (added '2') to avoid confusion.

See Github issue #416.
CMake: druntime is supposed to always exist.
CMake: Remove unused LDC_IMPORTS variable.
CMake: Silence LOCATION-related warning.

We need to refactor our code to avoid it eventually,
see GitHub #658.
CMake: Refactor druntime/Phobos compilation.

Having the compilation step separate from the actual library
creation lets us reuse it for the new static unittest builds.
Make -defaultlib/-debuglib override instead of append; deprecate -nodefaultlib.

This is necessary as the only point of having -defaultlib
and -debuglib is to enable the user to customize the defaults
set in the configuration, for example to avoid linking to
Phobos.

GitHub: Fixes #416.
GitHub: Fixes #601.
CMake: Fix typo.

The variable was empty when not building with MSVC anyway.
Paste flags from config file in front of command line arguments.

This way, the user can override any defaults defined in the
config file.
Remove rebuild config file.

rebuild was somewhat widely used in the old D1 days, but now
is dead. Proof: The file was broken for a long time (note the
double -I-I), but not a single person complained. So even if
anybody still uses it, they are using a custom config file
already anyway.
Merge pull request #660 from redstar/loc

Add line number to error message of -nogc switch.
Use single test runner executable for unit tests.

This is not only much cleaner than the old hack that depended
on the tested modules not being linked in a second time from
the druntime/Phobos static libraries, but the hack obviously
also doesn't work for shared libraries.

Also unify the naming scheme and adapt the Travis config to
respect it.
Set rpath for shared library test config.

This way, the user doesn't have to set LD_LIBRARY_PATH to be
able to run the test suite. We don't want to do this in the
install config, though, as rpath has security implications.