The cache key should use the value of the object

Fix so that when serializing with Marshal the value of the object is
used instead of the object. Otherwise the cache_key will always be
unique.
Update checksums for storage test
Use a more determenistic cache_key

Make sure data for the cache_key is scalars and are processed in order.
Also make the contents of the cache key more explicit
Merge pull request #46 from alksl/unique-cache-key

The cache key should use the value of the object