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.