Check for existing persistent cache files on demand

When I was using puffing_billy I noticed that for the first request it did not check for a persisted cache file. Later, I realized that I was not calling Billy.proxy.restore_cache in my config and also did not notice the Billy.cache.load_dir method.

However, I had already written additional logic to check for a persisted cache entry on demand. And I think this may be an improvement for the existing approach for a few reasons:

* only requested cache files are read thus speeding up tests
* eliminates the need for Billy.proxy.restore_cache since cache files will be checked if the entry is not already in the memory cache
* clients do not need to worry about timing the invocation of Billy.proxy.restore_cache thus eliminating the 'race condition' noted in the readme file