Fix broken file.contents on subsequent cached runs

Closes #21

- Update default value implementation to check for _contents
- Add some new tests that test the contents