Add signature

Allows users to easily mix in additional data into cache keys.

This would fix #178, and would be a step in the right direction for #174 and #172