Now faces remember which edge is which.

This comes at a cost: for a mesh edge e, the list of faces is now a
method "e.faces()" rather than a field as before. I think I've caught
all the uses of this method, but...
Advice for people seeking to check out this fine project