Ids with dashes in them are acceptable. Fixes #4
MD5 digest the cache keys so they aren't too long. Fixes #3