DATACMNS-578 - PoC: Speed up instance creation by generating Factory classes with ASM.

PROOF-OF-CONCEPT please do not merge yet!

Introduced BytecodeGeneratingEntityInstantiator which dynamically generates classes to speed up the dynamic instantiation of objects. Since we cannot support every use case with byte code generation we gracefully fallback to the ReflectiveEntityInstantiator.
Is that really needed? If no `PreferredConstructor` is found we either deal with the case that there are only constructors available that take arguments but none of them has been annotated with `@PersistenceConstructor`. This is usually the case if a special converter is registered for that type so that we're never going to instantiate it anyway.

The other aspect is that the non-availability of a preferred constructor results in the argument array being empty so that we can only fallback to instantiating the implicit default constructor anyway. This is very likely to fail (except array instantiations) as the default constructor would've been detected during preferred constructor detection in the first place.