Lots of changes to how the restarter & watcher work.
First, the "wait on events" loop is no longer in the restarter. The
restarter lets the watcher handle this. When an event happens, the
watcher calls
$restarter->handle_changes(@events);
This made it _much_ easier to implement the Inotify-based watcher I've
added. Catalyst::Watcher is now a parent & factory. The old watcher
code has been split between ::Watcher and ::Watcher::FileModified.
The FileModified version has been fixed to handle file deletions a
little better, but it's still kind of broken.
The Inotify version handles everything correctly, though sometimes
it's reports of what changed can be off (but it restarts as needed,
and adds new directories to the watch list properly).
Finally, I fixed some bugs in the Helper module where the generated
script did not use the right names for arguments passed when creating
the restarter.