Add a file storage abstraction.
Add tests and docstrings.
Add a SetFile method to Metadata.
Split a few files up.
Use a more idomatic test for interface satisfaction.
Add more documentation for filestorage.
Merge pull request #19 from ericsnowcurrently/storage

Add a file storage abstraction.