Adds DeviceInterface function to clear InputConsumers and OutputProducer

These function can be called to ensure the device object will not
attempt to pullOutput or pushInput to the rest of the scene.  Otherwise,
it is possible for a device to attempt to access a consumer or
producer that has already destructed.

Also, these functions are called in the destructor, which means the
mutex lock will be used to keep the removals threadsafe prior to actual
destruction.
Bugfix, pass the cmake_build_type to the externalproject for yaml.

Otherwise, when building with nmake jom, yaml will be build as Debug
even if the OSS build is set to Release, and thus cause a link
failure.

cmake_build_type is not used by MSVC, and cmake creates it for other
build systems, so we do not need to add it in SurgSimBuildFlags.
Adds unit tests for clearInputConsumers & clearOutputProducer.
Merge branch 'master' into fix/device-clear-consumers
Make Fem2DElementTriangle::computeRotation a reusable method

This method was setting up the variable m_initialRotation internally.
It should really return the matrix and the assignment should be done by the caller.
This can be useful for a potential co-rotational FEM triangle element that would derive from this class.
Merge branch 'fix/yaml-build-type2' into 'master'

Pass CMAKE_BUILD_TYPE to ExternalProject_Add for yaml, if defined.

+1: Paul Novotny, haizhouW, Julien Lenoir

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1154363
Bugfix, linux LabJackScaffold was not updated to new getter for reset.
See commit 9adcdb90745da034d21e8701b9c7332d66da7a47
Merge branch 'fix/linux-labjackscaffold' into 'master'

Bugfix, updates linux LabJackScaffold to the new getter for resetOnDestruct.

+1: haizhouW

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1158993
Merge branch 'feature/fem2DcomputeRotation' into 'master'

Make Fem2DElementTriangle::computeRotation a reusable method

+1: Gughan Sathyaseelan, Ryan Beasley, haizhouW

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1157723
Better unit test for CommonDevice::clearOutputProducer.
Merge branch 'master' into fix/device-clear-consumers
Merge branch 'fix/device-clear-consumers' into 'master'

Adds function to clear consumers of (and producer to) a device.

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1151673
Moves FixedRepLocalization typedef into FixedRep.h (ditto RigidRepLoc)

With this approach, including FixedRepresentation.h will be sufficient
(and necessary) to create a FixedRepresentationLocalization.
Merge branch 'master' into fix/rigidrepresentationbaselocalization