Refactor runtime-checks for inherited resources.
The original mechanism for testing whether or not a resource inherited from another (by index or type name) dependend on the use of a resource manager. This caused issues with smtk::attribute::ReferenceItemDefinition, which can refer to an unmanaged resource item but couldn't accept unmanaged resources that were derived from the filter resource type. This new method relies on CRTP to perform derivation checks whithout a manager. The original infrastructure with inheritance information held in a resource's metdata is still in place since it is small and could be useful for queries that involve resource types without instances.
Edited by T.J. Corona