NEXUS-5728: Fixing ehcache.xml configuration

The cache config used by Shiro EIS DAO, named
shiro-activeSessionCache was badly configured
that led to "lost sessions".

Signed-off-by: Tamas Cservenak <tamas@cservenak.net>
Update ehcache.xml

Monitoring explicitly turned off (not JMX but
terracotta proprietary one), other values
explicitly added, but are equal to current defaults.

Also, added XSD ease it's authoring, and some doco cleanup.
Sanitized cache names used by Realms.

We relied on "default" shiro cache naming strategy
that was non deterministic and made impossible to
pre-create configurations for those in ehcache.xml
(as final cache name was always changing).

Shiro used following pattern:
classFQN+".somePrefix"+CounterIfGreaterThanZero

This resulted in case of OSS in following Realm related
cache names:

org.sonatype.security.realms.XmlAuthenticatingRealm.authorizationCache
org.sonatype.security.realms.XmlAuthorizingRealm.authorizationCache.1
etc...

(other Realms, like LDAP of Crowd etc would get ".2", ".3" suffix etc)
The naming depend on class loading order of these classes, user
cannot affect it.

Still, the getName() method on almost all of the realms was
overridden to return the ROLE (@Named value) of the component.

This change removes the override and properly sets the
Realm cachingName too, that actually equals now to ROLE.

This results in constant cache names as:

XmlAuthenticatingRealm.authorizationCache
XmlAuthorizingRealm.authorizationCache
etc...

(basically ROLE + ".authorizationCache" added by Shiro). This
means that a savvy user (or developer) can prepare and
modify ehcache.xml to affect the caches used by these Realms
in advance, as cache names are now known in advance.
Aligned realm name with others.

And extracted a string constant to share it's use.
Merge pull request #2 from sonatype/nexus-5728-wrong-ehcache-use-in-shiro

[REVIEW] NEXUS-5728: Fixing ehcache.xml configuration