Allow cache key to be a block
Added docs
Refactor
Test for exception when providing both cache key and block
Merge pull request #1326 from Ortuna/block-cache-key

ability for cache_key to be a block