By default, use the dynamic way for programs in the GHC tree

In particular, this means that GHCi will use DLLs, rather than loading
object files itself.
Set the way to 'dynamic' when running GHCi if GHCi is dynamically linked
Partial support for dynamic ghc on Windows
Disable DYNAMIC_GHC_PROGRAMS on Windows

It doesn't work yet
A little polishing
Fix searching for object files when doing TH

We were finding vanilla object files when TH needed dynamic object files.
Fix the handling of Opt_Static

There were some cases where we weren't unsetting it when turning the
Dyn way on.
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Update Cabal