HK2-157 At least do this part of the cache fixes.  The next part still
has some issues with unit test failure
HK2-157 Use soft references for the cache, otherwise this cache can cause
the JVM to hold onto references of classes even once the classloader has
been removed from the system (e.g. with a module system like OSGi)