Make sure the RTS is built, even when no programs are being built with stage1

Part of #7841
Fix an all-target call in the build system
Some build system tweaks
Modernise code in rename/RnEnv.lhs

Removed a definition of thenM, and used do notation instead
Remove an old commented out import
Whitespace only in typecheck/TcHsSyn.lhs
Remove a "mappM = mapM" wrapper in typecheck/TcHsSyn.lhs
Remove a "returnM = return" wrapper in typecheck/TcHsSyn.lhs
Modernise some code

Use do notation rather than thenM in typecheck/TcHsSyn.lhs
We actually need to use -threaded/-debug when linking /all/ DLLs

Not just base, integer-gmp and ghc-prim.
Remove obsolete documentation.

Type variables can no longer be unqualified operators.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
More work towards dynamic programs on Windows

Dynamic GHC is now working in-place, but pathologically slow due
to the DLL split.

(GHC assumes that all intra-package calls are in the same DLL, but that
isn't true when we split the GHC package into 2 DLLs. That means that
GHC's startup time is around 22 seconds, as it is doing run-time
linking).

Also, ghci isn't actually working yet:

$ inplace/bin/ghc-stage2 --interactive
GHCi, version 7.7.20130512: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... <command line>: can't load .so/.DLL for:
HSghc-prim-0.3.1.0.dll (addDLL: could not load DLL)
ghc-stage2.exe: HSghc-prim-0.3.1.0: The specified module could not be
found.
Merge win:/cygdrive/c/ghc/git/dt
Merge branch 'master' of http://darcs.haskell.org/ghc
Kill dead code.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Remove redundant cmmMakeDynamicReference' wrapper
Refactor cmmMakeDynamicReference

It now has its own class, and the addImport function is defined in that
class, rather than needing to be passed as an argument.
Use NatM_State record fields, rather than matching/constructing the whole type
Make the current module available to labelDynamic

It doesn't actually use it yet
Simplify ghc-cabal

It now consistently takes directory and distDirectory as its first 2
arguments. Also, it only supports configuring 1 package at a time now
(we weren't using the ability to configure more than one at once).