Add support for simple linear DOF constraints

This adds support for linear DOF constraints in the boundary conditions. Currently the only API routine is for setting a set of nodal DOFs to be equal but others could be added as needed and the boundary conditions routines support making a DOF an arbitrary linear combination of other DOFs.

[Tracker item 2204](https://tracker.physiomeproject.org/show_bug.cgi?id=2204)