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.
Document cache scoping
Raise descriptive error if no block supplied to with_scope
Merge remote-tracking branch 'origin/centro_production' into named_caching

Conflicts:
	lib/billy/cache.rb
Update Gemfile.lock with new versions from last merge.
Add note to avoid race conditions
Merge pull request #1 from centro/named_caching

Named caching