- Restored Role.equals(..) and hashCode(..) methods so that two roles with the
         same parent application, name and child roles are equals.
       - Added Role.application property to make it more explicit what is required
         for role equality and to make the MemoryRealm class less ambiguous.
         Reported by Tim Peierls, Martin Svensson, Peter Ansell and others.
 - Cleaned a few hashcode implementations based on SystemUtils.hashCode method.