Added monitor module

The monitor module provides methods for watching files and directories
and receiving an update when a change is applied. Callbacks can be
registered for a path and will be called with the event type, filename
and file stat objects. The monitor function is created for flat
directories, without sub-directories, although it might still work.

The monitor methods is smart enough to detect when files are already
being watched, either directly or through it's parent directory.
Reinstated watch for serve function