Cached acl adapter

Using the DbAcl adapter can result in a large amount of database queries on each request, this is especially true if you make use of the Acl adapter to read menu, etc. permissions.

This PR adds a extension on the DbAcl adapter which caches Acl reads.
No particular reason. Changed to protected.