adding cachehq app to handle caching signals

for domains right now

users and groups and orgs to follow

cacheinvalidate pillow is background pillow handling cache invalidation events.
adding cachehq to apps and caching pillow

also setting session backend to be cache based.
adding stub for couchuser generic signal
caching request.couch_user 

using session based key for the user itself
using cache_core for main pain points for slow reqs

wrapping view and gets using cache_core from dimagi_utils
Merge branch 'master' into cache_phase1

Conflicts:
	settings.py
removing cruft
.
updating comment
updating comment
updating comment
cache couch user based up on sessionid, but still invalidate via user_docid
add couch_user (base class) signal emission for ALL couch user saves
remove template cache of navigation header in favor of doc based cache
enable couch_user signal for cache invalidation
cache hq_shared_tag templatetag for user domain pulldown
Merge branch 'master' into cache_phase1
updating dimagi utils for cache
adding not_case_form filter for cachehq
Merge branch 'master' into cache_phase1

Conflicts:
	corehq/apps/announcements/models.py