Add option to config to ensure ssh allocates a tty

Ensures that `ssh` allocates a tty (using `ssh -t`) if the option
`needs_tty` is set in the relevant config section.

Proper deployment setups (with a `deployer` user who doesn't require
a tty to `sudo`) shouldn't need this, but it's very useful for ad-hoc
setups that are making the move from manual to semi-automated deploys.