NXCM-5448: cache WildcardPermission hash because its contents never change after construction and calculating the hash is expensive (involves collections of collections of strings)
NXCM-5448: resolve role permissions using single read lock, rather than repeatedly taking and dropping lock for the role and each of its sub-roles/privileges
NXCM-5448: add memory-sensitive cache to XML permissions resolver
NXCM-5448: move resolver cache check to before we even attempt to read-lock the configuration (note: this is only viable if we don't need to invalidate the resolve cache when DynamicSecurityResources change)
Merge pull request #229 from sonatype/NXCM-5448-permissions-performance

NXCM-5448: improve permissions performance