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.