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 precedence orderings.