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
Implement type family instance support for ":info" (#4175)

v2: added a couple of comments
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
Remove readIface's unused argument
Remove a bitrotted hack for OpenBSD and NetBSD regarding the dyn way.

On OpenBSD and NetBSD, we were accidentally passing "-optl-pthread" to
the gcc to build dynamic libraries because of a bitrotted hack for
those OSes, which resulted in a weird situation where every dynamic
library is named "ptl-pthread" and placed at "$(TOP)".

The hack in question were to work around a linkage problem with
libHSffi, but we no longer build it and just use libffi these days so
the hack can safely be removed.
Enable Opt_PIC for the dyn way regardless of OSes.

We were previously enabling Opt_PIC on certain OSes namely Windows,
Darwin and Linux, but it should always be enabled for the dyn way
because it makes no sense to try to generate non-PIC dynamic
libraries, which is usually impossible.
Also build the v way when DYNAMIC_GHC_PROGRAMS is YES

Technically we don't need the v way, but with -dynamic-too it's cheap,
and having it makes life easier.
Remove some directories that used to be used by GUM

This hasn't been used for some time
Remove a couple of unused make variables
Fix ohi-sanity-check when we have ways other than v and dyn enabled

It thought that /all/ ways should create the dyn o/hi files, but only
the v way does.
Add a kludgy dependency to fix compiling modules that use annotations

We now make the stage 2 compiler depend on GHC.Desugar.
Only steal ~# as a reserved operator when MagicHash is enabled; fixes #7776
Remove base 3 support from bin-package-db