Either use ListenWatcher or PollingWatcher.

If `listen` is available we will default to ListenWatcher,
but if not we will use PollingWatcher.

`listen` provides the ability to use OS specific file system
events so that polling for changes takes significantly less
IO and CPU overhead.
Move Spring.application_watcher setup into separate file.
Watcher should only watcher after #start is called.
Re-enable ListenWatcher.
Initialize application_watcher after the client application.
Update README.
Merge pull request #82 from rjackson/add_listen_for_file_changes

Add listen gem for filesystem change polling.