add cache_digests and use it for the top menu
move permission migration test out of main user test
fixup active_nav_class fixed
cleanup and test user and group versioning
fragment caching basics

* current_theme now responds_to cache_key
* users and groups have two cache keys now:
  - version_cache_key, bumped when their associations change
  - cache_key, bumbep when they themselves change
  - login link on top will always be rendered
use new cache key format all over the place