Namespace the cache directories

Some file systems limit how many files can be in a single directory,
for projects that cache a lot of responses this could be a problem.

This switches from <directory>/<hash> for the filename to
<directory>/a/a/a/a/a/<hash> where the a are the replaced by the
first 5 characters of the hash.
Merge pull request #28 from dstufft/directory-filenames

Namespace the cache directories