Adds "ssh_needs_tty" general parameter, and rsync copy option

I ran into an issue where commands were failing due to an "stdin: is not a tty" messages from the host.  To resolve, I added a general flag "ssh_needs_tty", which adds "-t" to the ssh command.

Additionally, when using rsync and a large set of files, I added an additional flag to the deployment options which first copies the prior release to the new release, then rsync's the new release.

```
deployment:
  .....
  strategy: rsync
  rsync: { copy: true }
```

Using this flag, my deployment goes from:

```
(snip)
Finished Magallanes

real    1m6.098s
user    0m5.440s
sys     0m0.724s
```

to this:

```
(snip)
Finished Magallanes

real    0m21.263s
user    0m2.032s
sys     0m0.484s
```