Use a filesystem change listener rather than polling for project changes

The sc-server thread that watches the project directory for changes to rebuild polls every two seconds, and for me consumes up to around 10% of a CPU just sitting there.  This pull implements the 'listen' gem, which uses inotify, fsevent, or other available facility to be notified of changes.  This drops idle CPU usage of sc-server to almost (but not quite) nothing.