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

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.

Original pull request: #98.