Allow custom watcher for serve command.

I would like to be able to use a custom Watcher with the serve function. I
obviously could duplicate the code that exists in `lib/server.js`, but the
only tweak I would like to make is to pass a different watcher.