[IMP] mail: speed up filtering of mail.group menus

Replacing the browse+search speeds up
the filtering 50x, which is significant
for a method that may be called on most
page loads as soon as the user is
logged in.
[IMP] base, mail: cache user.has_group() + ir.ui.menu.load*()

Loading the menus is the most expensive
operation for an average page load, and
the result does not change often.
The menu filtering already uses a separate
cache based on groups, but the rest of the
loading includes reading actions and
translating menu names, which is also
expensive.

Added a cache keyed on user + user
lang, plus relevant cache invalidation
when any of the following are touched:
access rights, user data including
groups and language, menus or mail.group
subscriptions.

The menu filtering cache is still
useful in parallel has it is invalidated
under different conditions.

User.has_group() is cheap but still
called very often, so it is an easy
win as well, and also frequently
used when rendering page templates.