Refactor middlewares to use a common base class
Implement Vagrant::Mirror::Listener::Host

Listens on the host for file changes and queues them to be updated on the
guest by the main thread. Listeners have been renamed to avoid conflicts with
the Listen gem.