Allow managed model types to extend other managed model types

+review REVIEW-5265
Don't require managed model super types to be annotated with @Managed

+review REVIEW-5265
Test coverage for model rules depending on manged model super type as subject and input

+review REVIEW-5265
Test coverage for manged types extending multiple interfaces

+review REVIEW-5265
Test coverage for error messages produced when managed type extraction involves an inheritance structure

+review REVIEW-5265
Don't reuse ModelRuleDefinitionHandler instances in tests

+review REVIEW-5265
Test coverage for two managed types extending same parent

+review REVIEW-5265
Detection of conflicting properties in managed type inheritance hierarchies.

+review REVIEW-5265