Make external faces more generic
Uses the new reduce-by-key worklet and other features to support all cell sets.
There is plenty of opportunity for optimizing common special cases (like structured data and sets with a single type with a single face size).