cabal-install: Fix PackageTests using user's config

- previously, tests did not specify config file; default one in ~/.cabal/
  was used. test result depended on non-repository content.
- now, PackageTester has extra parameter for config-file to use.
- the default procedure now is to generate a default config file in
  "PackageTests/cabal-config" and use that.
- specific tests also are able to use non-default config.
Why pass in an absolute path here? You can get it with `canonicalizePath` (but note that the file must exist for it to work).