More thorough implementation of facilitating collection of classes used in rule and managed model infrastructure.

 - Change ModelType to be entirely based on weak references to classes
 - Key the ModelSchemaCache internally on weak references to all classes involved in a type

+review REVIEW-5313
Avoid Java 8 API.

+review REVIEW-5313
Avoid more Java 8 API.

+review REVIEW-5313