Read configuration from .cfg file when --config-file=<file> option is sp...

Uses environment by default but user may optionally specify a configurator config file if they want to. I'll clean the code changes up a bit (for example the cabal file doesn't specify bounds for added packages) if you find them acceptable.