Cache auth checks

Right now when calling checkAccess it queries the db every time, so on large pages it becomes an issue. We need a default implementation of some sort of cache to cache the auth items and checking them without accessing the DB.

Can be an issue when we’re revoking rights and want to apply changes immediately. Still, I think it can be useful. Can you add it to issue tracker?

provide a property to set to cache?