Can now find sub-types of a given type

Extended the SearchPresentationCompiler, Finder, and SourceIndexer
so they're now able to find sub-types of a given type.

Also re-wrote some of the earlier test classes so they now reflect
the newer ways of writing tests; this is one of the reasons this
commit is so large. Sorry.

Fixes #1001755 #1001725