Shared folder `sync` hook

In gh-4394, I proposed a general `sync` action hook that would be triggered
whenever folder synchronization occurred. I've been able to implement the hook
for the `rsync` mechanism, but I'm not sure how to proceed with the `nfs` and
`smb` mechanism.

Ideally, I would want to implement this at some higher level (instead of
extending each mechanism explicitly). Based on my current understanding,
though, it looks like Vagrant isn't generally aware of when sycnhronization
occurs. The more that I look at the code for `nfs`, the more I think that
Vagrant may not be aware of synchronization for that mechansim at all. If this
is the case, then the proposed `sync` hook (triggered regardless of
synchronization mechanism) will not be possible.

@mitchellh Would you mind giving me some advice on where to go from here?