Cache user/role mappings

This will avoid frequent db access. Mappings were read from database every time authorisation was required fro current user and authorisation was not cached. IN nexus authorisation idles in 2 minutes.
This is consistent with behaviour prior to migration of security from model to orient db, case when whole security configuration was kept in memory.

The change will also fix the failures we had due to interleaved db transactions between staging and security.
Is it possible that two concurrent calls into `updateUserRoleMapping` could leave the memory cache inconsistent with the database? Example: thread A updates the memory cache, but before it can update the database thread B updates the memory cache and the database, then finally thread A updates the database. Or is there some higher-level locking elsewhere that prohibits concurrent calls to `updateUserRoleMapping` or other methods in this interface?