Allow unicode in cache entry description

The entry description has historically been checked to be a ascii string.
This removes that check, allowing it to contain non-ascii, and adds
documentation for the relevant methods.

The entry description is hashed and converted to a hexdigest to become
a unique cache key.  The entry description is stored in the cache entry,
and compared to the request parameters.

Change-Id: I51b8052a8c6b73452d7a486d60d36393eefb25e0
Merge "Allow unicode in cache entry description"