CanCan default caching of current_ability is broken

if it’s called too early (I think from logging in this case)
then it will cache the ability for nil instead of current_user