Fix equals/hashcode of mutable classloadersWhen a parent was added to a MultiParentClassLoader, its hashcodewould change, meaning that it could no longer be found in any Setsor Maps we put it in. This lead to severe memory leaks when used inconjunction with configure-on-demand, where adding parents late is common.These classloaders now use an identity hashcode and equals implementation.
classloader caching - hashCode/equals for some CL implsAdded hashCode/equals implementation for CachingClassLoader and MultiParentClassLoader. This way caching of the classloaders works correctly. Without this, there are lots of cache misses due to parent classloader not matching.+review REVIEW-5219