Creating a ChangedFile class for sending file system updates through Notifications

I'm creating a wrapper to allow the FileUpdateChecker to send out notifications about changes in the file system. 

The ``ChangedFile`` class allows one to specify a path and a change type. This object can then be passed around with references, or can be converted to a hash so that its information can easily be passed around as payload in the Notifications system.

This change paves the way for creating a better FileUpdateChecker (see https://github.com/rails/rails/pull/9259) which will identify which files have been changed and send out a notification using the ``ChangedFile`` class implemented in this PR. However, its a much smaller change than https://github.com/rails/rails/pull/9259 so I'm hoping to incorporate it slowly.