Make linear DOF coupling part of the boundary conditions

Tracker item 2204.

This moves the linear DOF coupling information from the solver equations into
the boundary conditions variable.
A new DOF type of "BOUNDARY_CONDITION_DOF_CONSTRAINED" has been added to
indicate that a field variable DOF is constrained to depend on the values of
other field DOfs, so that they are mapped to a single solver DOF.

Currently a field variable DOF can only be mapped to a single solver DOF,
but multiple field variable DOFs can be mapped to the same solver DOF.
Support for coupled DOFs split over domains is not implemented, but if the
coupled DOFs are in the same domain of a decomposed problem then this should
work, but it hasn't been tested.
Fix comments and parameter name in BoundaryConditions_SetConditionType
Rename BOUNDARY_CONDITION_CONSTRAINED to BOUNDARY_CONDITION_LINEAR_CONSTRAINT