Collision::Representation uses BufferedValue to hold the collision map.
Collisions are added to the map in the physics loop, and other threads
may try to read the map, so the BufferedValue provides thread safety.
The BufferedValue publishes in update, so with this change
getCollisions, getCollisionsWith, hasCollision, and isCollidingWith will
be using the collision map as of the most-recent update.
Collision::Representation getCollisions returns the map's BufferedValue.
This way, the caller can create a safe or unsafe ReadAccessor, depending
on which thread they are in.  The utility functions have been removed
since the caller has read access to the map and can call the find and
empty functions directly.
Reduce Representation Generation in OctreeDcdContact

Reduce the number of Collision::Representations generated during
OctreeDcdContact. This caused a slow down due to Components
generating a uuid on construction. Instead re-use the one
Collision::Representation for Octree DCD Conctact.
Merge branch 'master' into fix/collisionrep-bufferedvalue

Conflicts:
	SurgSim/Blocks/VisualizeContactsBehavior.cpp
	SurgSim/Physics/RigidCollisionRepresentation.cpp
Moves collision map publishing to new function called by DcdCollision.
Collision::Representation::update is called before collisions, after
collisions, and also on setLocalPose, setShape, and maybe elsewhere, so
the map was being published too often (performance issues).
With this change, DcdCollision triggers the publish right after the
collisions are determined.
Reverts recent changes to Shape/DeformableCollisionRep::update.
Should have been reverted when the collision map publishing was moved
out of CollisionRep::update.
BufferedValue rewritten to encapsulate the Accessor functionality.
Simplifies the API.  The user is responsible for ensuring that only one
thread calls the publish and unsafeGet functions.
Merge branch 'master' into fix/collisionrep-bufferedvalue
Removes functions from CollisionRep that just operate on the collisions.
Those utility functions hide the use of BufferedValue::unsafeGet,
and can be directly performed by the caller on the return value of
getCollisions.
Improve RepresentationTest check of safe collision buffer.
Also, reverts some recent changes to includes that are no longer needed.
Asset::initialize takes a (const ref of) shared_ptr to const.
The recent serialization of MeshShape so it is-a Asset means that
the short filename should be set in MeshShape and then initialize should
be called passing in the runtime's ApplicationData.
Runtime::getApplicationData returns a shared_ptr to const, so that is
what initialize should accept.
Asset::initialize takes a const ref to ApplicationData.
The function uses the ApplicationData, so the caller shouldn't be
required to wrap it in a shared_ptr.  This signature is simpler and more
descriptive even if the caller already has a shared_ptr to the data.
Fix Timer unit test, check for clock fails before using results.
Merge branch 'master' into fix/octree-uuid-generation
Merge branch 'fix/octree-uuid-generation' into 'master'

fix uuid generation in octree dcd contact

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/905213
Merge branch 'master' into fix/timer-unittest
Merge branch 'fix/timer-unittest' into 'master'

Fix timer unit test, check for clock fails before using results.

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/912763
Merge branch 'master' into fix/asset-initialize
Merge branch 'fix/asset-initialize' into 'master'

Fixes staple example stapling.  Asset::initialize takes const ref to ApplicationData.

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/907113
Remove unnecessary namespace qualifications in StaplerBehavior.