Add additional flexibility to handling ssh keys

The ssh key used by clients and the client identify can now be supplied
as environment variables.

ssh keys with pass phrases are also now supported, the pass phrase
can be supplied by an environment variable or through the config file.