Work on Haskell GHC wrapping.

- unify wrapper build by standard ghc-wrapper and by ghcWithPackages
- add caching of GHC packages search into ghc-wrapper
- add scripts to run command in an installed ghcWithPackages environment
- add flag for cabal.mkDerivation to automatically wrap binaries
I think that script should go to $out/etc/profile.d/ghc-env.sh instead. Most shell environments are configured to pick up and execute those scripts automatically.