first cut implementation of an alternative transitive reduction
algorithm whose worst-case complexity is number_of_subsumers *
number_of_subsumer_subsumers rather than number_of_subsumers^2, which is
better for large but flat hierarchies.
an adaptive algorithm to update the transitive reduction output: based
on the number of the current direct subsumers, the algo iterates either
over that set (and look up in the set of subsumers for the current
candidate) or the other way around. some other smaller optimizations.
getting rid of some warnings