Heroku support via private_rsa_key in an environment variable

Originally discussed in #11, this is a patch that allows the private_rsa_key configuration to be set in an environment variable.

This patch set contains two refactorings to prepare the codebase; and a final patch containing the test change and the feature.

The final patch diff formats badly unless you ignore whitespace; essentially the entire test file is run twice: against both the standard 'test' config as well as a 'heroku' config with the env var set properly.