The two Contacts in a contact constraint do not add/subtract the depth.

This change should not affect any MLCP results.

The term in the b-vector for a contact constraint is the violation
due to penetration.
The Contacts know the normal, the position of one side of the contact,
and the violation, but the MLCP only needs to know the normal and
the positions of both sides...which it uses to calculate the violation.

To calculate the b-term, one Contact uses a
positive sign for its violation, and the other uses a negative sign.
As a result, any constant term (e.g., the distance to a plane with the
specified normal) added to both Contacts cancels itself
out.
Furthermore, the meaning of such a distance term is unclear. If one
of the objects is a FixedRepresentation, it would make the most sense
if the plane's distance was defined by its contact position.  On the
other hand, if both representation were rigid, it might make more sense
to put the plane in the middle, or to weight its position based on
their relative masses.  Previously, we used the depth (aka violation)
as the plane's distance, which is not physically correct and so was
confusing.

This commit removes the plane's distance from the contact calculations,
and adds comments explaining the deliberate decision.
The LabJackDevice can now reset the hardware during destruct.

The hardware is designed to continue operation after communications
have closed, e.g., providing outputs.  This commit adds the ability
to reset the hardware, returning it to its default settings.
Note that resetting will cause USB re-enumeration and so will take a
few seconds before communications can be re-opened with the hardware.
Bugfix in LabJackScaffold determining which timer modes accept outputs.

The visual test now has the ability to test resetting a quadrature
timer.
Updates comments in FixedRepresentationContact.
Merge branch 'fix/contact-d' into 'master'

Contact constraints do not add/subtract the depth to the MLCP b-vector.

+1: Paul Novotny, haizhouW, Gughan Sathyaseelan

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1121073
Renames LabJack::setReset to setResetOnDestruct.
Merge branch 'feature/labjack-reset' into 'master'

LabJack can reset during destruct, and fixes outputting to timers.

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1134803