Fetch from cached file initially
Removed duplication in generating cache key
Removed cache#load_dir as loading files is now done dynamically
Refactored generation of cache file and story cached content into cache when fetched
Added deprecation for Billy.proxy.restore_cache
Version bump
Change default response format.

Before it was incompatible with how it would be called later, and would raise an
exception.
Allow the consumer to load rspec.

Requiring RSpec breaks if we're using rspec 2. It's best we just let the
consumer handle setting up the test environment.
Lazy load the billy proxy.

This should allow forking preloaders (zeus & co.) to work with it out of the
box, also stops us starting a server when the spec run in question does no even
involve capybara or JS testing.
First pass at supporting port in whitelist hosts
Unique key based on anchor path instead of full url
Auto-cache /api and remove port, add anchor to key generation
Let consumer load rspec
Allow easy access to the proxy cache
Started work on naming caches
Add named caches for caching different responses for the same request.
Cache path should default to subdirectory of system tmp directory.

Presently, cache files are put in the root of the tmp directory by
default, which may contain many other folders and/or files.
Use puffing-billy instead of billy for tmp folder name.
Use cache scopes instead of named caches.

Benefits: scope implementation is much simpler.

Outstanding issues/questions:

- Needs documentation
- Scope was added to the hash key, so you cannot easily identify
  which files in your cache belong to which scope.  It may make
  sense to prepend the scope name to the file name; however, this
  was avoided because users can use any kind of object or string to
  define the scope, so simply adding the scope to the hash is safer
  and easier.  Plus, the cache file name was already extremely long
  which can cause problems on certain file systems.
Add scope to YAML output hash.