initial commit for couch_cache
intial commit for couch caching

caches views and doc GETs
better handling of reduce views with no doc_ids
updating some docs
wip adding cache tracing for devserver
removing cruft
re adding partial key ... removed it by accident

also having purge_doc return last version in case of getting doc_type at deletion event (though we never delete anything)
passable overriding expire
for keys that are more ephemeral

upping timeout for global keys cuz we now those are going to be
handled by pillow
adjusting cached_view to also do a doc_get if the doc isn't cached

doesn't feel right, but expirations and other invaidation might squash the master doc.
import cleanup, formatting
returning deleted last version to a json object instead of a string
adding doc_id based helper caches
generational caching wip
adding flipping flag for on/off doc/view caches

simpler invalidation framework, adding generational view caching based upon view/doc_type
adding  caching readme
updating cache readme with toggle flags
adding force invalidate method for view gets
Merge branch 'couch_cache' of github.com:dimagi/dimagi-utils into couch_cache

Conflicts:
	dimagi/utils/couch/cache/cache_core.py