Add ghc-pkg-{clean,reset}

These seem to be the only solution when cabal gets very confused.
Using cabal-dev rather than cabal alleviates the problem.