the file storage now watches the file for changes

Restructured the flipper and its storage modules to make the storage notify the flipper on changes, instead of the flipper running a timer that drives the storage. This frees the storage implementations to update on their own schedules & their own means. Specifically, this means the file storage module can use fs.watch() to notice changes.

Updated unit tests to match. Added a unit test for the file watching. The unit tests need a bit of restructuring still.

Bumped version to 0.1.0 because this is a fairly large change.