Module for merging hierarchies using the C3 algorithm
Description
This module implements the C3 algorithm. Most of the uses I have for C3
revolve around class building and metamodels, but it could also be used for
things like dependency resolution as well since it tends to do such a nice
job of preserving local precendence orderings.