create abstract methods createClassLoader(URL[]), cleanupClassLoader() and reinitClassLoader() in AbstractHibernateExtension
pull up createClassLoader(URL[]) to AbstractHibernateExtension
pull up HibenateExtensionX_Y funtionality into AbstractHibernateExtension