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 command will fail in some unexpected way if $out/libexec exists already.