Add support for a custom tmp directory

Currently if you are using the git provider and specify a custom
identity, vcsrepo will try and create a wrapper ssh script in the /tmp
directory. In many production setups, /tmp is mounted with noexec,
meaning that this wrapper script will not work. To get around this
people should be able to define a custom tmp directory for the wrapper.