Extended FileUpdateChecker so it can detect file changes in subdirectories.

FileUpdateChecker now has the ability to pinpoint the files that have been changed within the directories that it watches. All files which are children of the watched subdirectories will be found (recursively using a BFS search on the file system).

The class now can expose a queue of changed files, and there is also functionality in ActiveSupport::Notifications to listen to filesystem changes.

The idea behind this change is so that rails will eventually have a message bus system in development mode--i.e. that pages will automatically refresh when the developer saves or modifies a file, and that these file changes will be pushed to the browser so that the developer does not have to manually hit refresh. This is the first step to a larger change.