Load extensions using a separate ExtensionClassLoader for each.

These changes will allow extensions to contain different versions of JAR files. Libraries in the DataCleaner lib directories will always get precedence.
I see ... It's just the context of DataCleaner/AnalyzerBeans (and in e.g. Spring Framework) "scanning classes" is something you usually do by inspecting bytecode without loading classes (to avoid using unnecesary PermGen space) - typically to identify which classes has certain annotations or so.