Complete Vagrant::Mirror::Connection::SFTP implementation

Wraps a Net::SFTP connection to the guest to allow for persistent
connection, progress output and failure recovery
Net::SFTP does not automatically recurse into directories

Update the sync classes as Net::SFTP has to be prompted to transfer
directories recursively, it doesn't do it automatically.
Implement Vagrant::Mirror::Command

Handles the command line tasks `vagrant mirror monitor` and
`vagrant mirror sync` to run mirroring as a standalone process.