Make the SSH user and authentication socket configurable

* Add a config key, 'ssh_user', which defaults to the current username.
* Add a config key, 'ssh_auth_sock', which is unset by default. If set,
  it will override SSH_AUTH_SOCK in the environment. This is done before
  _assert_auth_sock is called.
* Pass ssh_user to Job and from there to cluster_ssh.
* ssh_auth_sock doesn't need to be passed around. If it is set, it is set in
  the environment, which every child process automatically inherits.

Change-Id: I5782e8cbe24bbd28d38967bc16f5f44721dc646f