Named caching

@ronwsmith Can you pull these changes down and see if they work with your tests?

Two caveats to this PR that should probably be addressed before merging:

1. Lacks documentation
2. Tests sometimes fail intermittently, I believe because the tests run faster than the cached files are deleted from the file system after each test execution.