TypeManager: add methods to find subtypes

Add methods to find subtypes of a given record type. For the subtypes, mixins are used, i.e. mixing in another record type has the same semantics as extending that record type. A future commit will rename mixins to be really called extends/superTypes to avoid confusion.
RecordTypeFilter: allow instanceof checks

This uses the new TypeManager.findSubTypes() method to allow scanning for records that have an 'is a' relationship to the specified record type.
Renamed mixins to supertypes

For backwards compatibility, the old mixin-methods are kept on the Java API but have been deprecated. The REST API still accepts mixins on input, but always returns supertypes on output, this is the only API incompatibility. The mixin system fields (for use in the indexer) are also still supported but log deprecation warnings.
Indexer recordFilter: add instanceOf

Record filters in the indexerconf can now have an "instance of" check to check if a record is of given type or any subtype of that type.
Added a RecordUtil class to repo-util which contains the actual instanceOf algorithm.