Modified the FileWatcher hierarchy to support customized FileWatchers in
preparation for sharing and server->client syncing.