Invalidation of cached classloaders - integ test

Added validation of the classloader cache size. The size should not grow when user performs standard operations. The test fails for now.

+review REVIEW-5219
Invalidation of cached classloaders - started adding classloader id

In order to invalidate the classloaders correctly we need to understand "what" is the classloader that the client of cache requests.

+review REVIEW-5219
Invalidation of cached classloaders - added basic classloader id for hierarchy

The classloader identifer in the classloader scope is automatically computed based on the position in the hierarchy

+review REVIEW-5219
Invalidation of cached classloaders - map instead of guava cache

It is simpler to implement invalidation if we just simple map instead of guava cache. We don't need guava features at the moment anyway.

+review REVIEW-5219
Invalidation of cached classloaders - basic invalidation is in place

Tidy-up and documentation is pending

+review REVIEW-5219
Invalidation of cached classloaders - tidy-up

Modelled the ClassLoaderId instead of using the String

+review REVIEW-5219
Invalidation of cached classloaders - tidy-up

Ensured the ClassLoaderId has correct equality behavior

+review REVIEW-5219
Invalidation of cached classloaders - documentation

+review REVIEW-5219
Invalidation of cached classloaders - documentation, coverage tidy-up

+review REVIEW-5219
Ensured class loader cache is thread safe

+review REVIEW-5219
Invalidation of cached classloaders - documentation

+review REVIEW-5219