synced_folders/rsync: Initial commit working
synced_folders/rsync: allow guests to execute things before
synced_folders/rsync: can exclude files
synced_folders/rsync: output what is being excluded
website/docs: document the rsync synced folder type
Merge pull request #2803 from mitchellh/f-rsync

rsync Synced Folder Type

This pull requests introduces the `rsync` synced folder type into Vagrant core. This synced folder will do a one-time one-directional sync from the host machine to the guest machine using rsync. This is useful in situations where NFS or native shared folders can't be setup, such as in AWS.

Pretty easy to use: `config.vm.synced_folder ".", "/vagrant", type: "rsync"` No additional configuration necessary, though additional options are available.

In the future, I'd like to add the ability to force a re-sync, as well as to watch for file changes and sync. For now, this is a basic one-time sync.

Having this in core allows remote providers such as OpenStack, AWS, RackSpace, etc. to stop hand-rolling the rsync synced folder mechanism and to rely on the core providing it.

And a shout out to @phinze because this thing is fully unit tested.

Fixes #1926