Added some improvements to cache wrapper
More important fixes to cacheing layer.
Small fix
Small fix to prevent empty arrays from being considered not cached. In
some cases, not cached is the right result.
Added exception thrown when unable to connect to redis
Added the option of bypassing callback. 

This way the cache wrapper allows for a bit more flexiblity