Porting ghc-mod to GHC 7.7
Moving all CPP stuff (that depends on GHC version) to Gap

- Moved some functions from Language.Haskell.GhcMod.Doc to Gap
- Moved HasType typeclass and some functions from Info to Gap
- Adjusted all the other modules to use necessary functions from Gap
  instead of the functions from modified modules
This should fix building the library for GHC <= 7.4
More fixes for GHC 7.4
Merge pull request #129 from co-dan/ghc77

Porting ghc-mod to GHC 7.7
Removing warnings.

Tests passed: GHC 7.4.2 and GHC 7.6.3