Add a new ConstraintMatrix to keep the mesh conforming on redistribution

Attempt two at making the correct pull request