Installing overwrites cabal.config with constraints

`processInstallPlan` calls a new function
`printConstraints :: InstallPlan -> IO ()`. `printConstraints` unconditionally
overwrites `cabal.config` with the exact version constraints for the
dependencies and also for the package itself.

Work that still needs completing:

 - Make the overwriting conditional.
 - Perhaps omit certain dependencies, such as `base` and the package itself.
 - Replace only the `constraints:` section of `cabal.config`.
Disable configuration time writing of `cabal.config`