HHH-9067 Make HibernatePersistenceProvider easier to extend

The ultimate goal is to be able to instantiate easily an HibernatePersistenceProvider
with a Spring managed interceptor.
(cherry picked from commit 1c0841180d2244894cf55ad98317d9970ce53834)
HHH-9071 When an already initialized proxy is narrowed, initialize the new proxy
(cherry picked from commit 2cf52cc7f1e1d8f918188d5166a3a869fc213cd8)
HHH-9071 - Proxy narrowing loses the initialized state of the original proxy
(cherry picked from commit c5bdec20b96a1179d70338644d8c2d5f1408001e)
HHH-9072 Fix name property of LoadEventListener.RELOAD
(cherry picked from commit a86acaf0102c70a06229d2d46e389660c4f11986)
HHH-7971 create regression test case for lazy loading with property ENABLE_LAZY_LOAD_NO_TRANS = true
HHH-7971 - Enabling ENABLE_LAZY_LOAD_NO_TRANS results in trying to remove elements in collections
HHH-7490 - Integrate Envers with Metamodel
HHH-7490 - Integrate Envers with Metamodel
HHH-8796 corrected MySQL index create/drop, corrected qualifyIndexName()
use
HHH-6438 made Constraint#name an Identifier
HHH-9076 - Dynamic model (map mode) support in reflite
HHH-9078 correct OrderColumn indexes for inverse, extra lazy collections
HHH-6109 corrected @CollectionId#type handling
HHH-8962 allow PrimitiveTypeDescriptor to provide the actual Class
HHH-6132 @FetchProfiles should throw MappingException when invalid
entity or association used
HHH-9083 throw AnnotationException for out of place @Immutable
HHH-7904 corrected CollectionTableNamingStrategyHelper
HHH-9077 - org.hibernate.metamodel.source.spi TLC
FailureExpectedWithNewMetamodel cleanup
FailureExpectedWithNewMetamodel cleanup