Jb/638 speedup horizontal presenter

Caching the horizontal navigation per user.
I moved model methods from presenter to model and there cached them.
The cache is again deleted each time, the user's cache is deleted.

I wrote a spec which shows the equality of cached method and method after creating and invalidating user group memberships.