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.