using dedicated cache context for garner binding

cc @fancyremarker What do you think about something like this?  This gives us a specific place to define cache keys based off the user's current organization + session.  This does not completely solve the problem as you can now just as easily have a stale cache, but this will at least separate caches by `current_organization`.  Ideally we need a way to invalidate caches or to destroy keys based off prefixes.
Does this work?