Make new CacheResult object

This object allows the view decorator to add HTTP headers to the
response such as ETag and cache information.
Replace MD5 with SHA1

Change the cache key hashing algorithm from MD5 to SHA1.
Reduce complexity and fix PEP8, PEP257 style issues
Merge pull request #12 from deuxpi/cache-result-object

Make new CacheResult object