Updates to the 'gorc watch' command

First, watch now accepts a 'command' argument, which determines which command will be run whenever files change.  Right now, this is defined separately from commander's list of definitions, which I would eventually like to change.  For now, though, it works.

Next, the watch command has been updated to recursively unwatch directories when they're removed and recursively watch new directories (in the case of a rename, for example).  This should take care of that pesky situation where gorc watch loses track of files in a directory after that directory's parent directory is renamed.

Finally, I've added a delay to the watch system, to guarantee that it has been one second since the last filesystem event before it actually runs the requested command.  This is to handle the case where you recursively delete a fairly large directory, so that it's much more unlikely that you'll run into file not found errors.