Fix RuleOrdering.order to return the flattened set, and use it to reduce typing in natural.py.  Also move natural orderings into natural.py