hlint police

hlint now wants us to use <$> everywhere, ok. other than that it has 4 comments remaining which seem to actually be problems in hlint rather than our code
remove unnecessary "import Prelude hiding"s
use type synonyms LoadedBody and LoadedExpr
Work around GHC deriving errors
Typeable1 -> Typeable
ghc-7.7.20131205 requiring DeriveTraversable rather than GeneralizedNewtypeDeriving
lens 4 compatability
update cabal dependencies for ghc 7.8