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.
Merge pull request #19 from necaris/master

Add option to config to ensure ssh allocates a tty
Logic to sort the tags was wrong.
Merge pull request #21 from paramaggarwal/patch-1

Logic to sort the tags was wrong.