Make ModelSchemaExtractionHandler.getSpec() return type contravariant so that we can use Specs.satisfyAll()

+review REVIEW-5245
 Generify ModelSchemaExtractionHandler

+review REVIEW-5245
 Use a transformer instead of a factory for instantiating managed model elements

+review REVIEW-5245
 Add the path to the analyzed invalid managed type to a single exception message instead of using wrapped exceptions to represent it.

+review REVIEW-5245
 Change inheritance to composition in ModelSchemaExtractionContext implementations

+review REVIEW-5245
 Improve representation of model schema extraction path in InvalidManagedModelTypeException message

+review REVIEW-5245