Adds LabJack data acquisition device, with limited functionality.

There are multiple models of LabJacks, which use various libraries.
This code supports the U3, U6, and UE9 via LabJackUD (high-level
driver) on Windows, and the U3 and U6 via exodriver (low-level driver)
on Linux or Mac.
This code uses Command/Response communication and supports digital
inputs, digital outputs, and timers (all modes including quadrature and
PWM).
All other functionality is not currently supported (e.g., streaming,
counters, analog in/out, and I2C).
Adds documentation to VisualTestCommon/ToolSquareTest.h.
Also search for LabJack's exodriver in /usr and /usr/lib
LabJackDevice, pass setter arguments by reference.
LabJackDeviceTest, removes non-test.
Add run after build
MlcpPhysicsProblem, improve updateConstraint

- Wrapping the reference with Eigen::Ref prevents Eigen from producing
a copy of the passed matrix.
LabJackScaffold, use std::array::at to prevent out of bounds access.
Also set device default settings from local struct.
LabJackScaffold (windows only), adds helper function for logging errors.
LabJackDevice passes data in scalars instead of customData.
Also, the scaffold caches the NamedData indices.
Adds unit tests for LabJack-specific checksum functions.
Since they are only used with the low-level driver (i.e., on Linux/Mac),
they were moved into a separate class included by
/linux/LabJackScaffold.cpp.  That way the LabJackScaffold.h is
not dependent on the operating system.
Merge branch 'master' into feature/labjack
Makes LabJackChecksums a namespace.
MlcpPhysicsProblem, improve updateConstraint with templating
MlcpPhysicsProblem, fix GCC compilation error
Merge branch 'master' into feature/mlcpPhysicsProblem-improvement
Revise OsgOctreeRepresentation

1. Add 'setNoteVisible' to turn on/off an OSG node, based on the given
   OctreePath.

2. Fix Render Test.
Add UnitTest for OsgOctreeRepresentation
Add UnitTest for setting node visibility when no octree is held.
add -Werror to gcc settings