Reorganized Shape and Rigid Collision Representations

ShapeCollisionRepresentation is now just a shape and a pose. It does not
contain a physics representation. This is exactly what the
MockCollisionRepresentation was, and so that is removed and
ShapeCollisionRepresentation is used intead in the Collision unit tests.

RigidCollisionRepresentation now just contains a physics representation,
and all the collision information is retreived from the physics
representation (pose, shape). Any collision representation that is
interacting with physics will need to use this RigidCollisionRepresnantaion.

The down side is that there is currently no way to specify a collision
representation with a different shape than the physics representation.
This, I think, is a seperate case, that we don't use right now, and can
be added when needed.

Conflicts:
	Examples/BouncingBalls/ExampleBouncingBalls.cpp
	SurgSim/Collision/UnitTests/BoxDoubleSidedPlaneContactCalculationTests.cpp
	SurgSim/Collision/UnitTests/BoxPlaneContactCalculationTests.cpp
	SurgSim/Collision/UnitTests/BoxSphereContactCalculationTests.cpp
Add a Timer class to measure update rates, time function calls, etc.

Currently uses boost::steady_clock.
Use Timers to log update rates in BouncingBalls example.

Logs all three Managers update rates.
Minor documentation fixes.
Fix style.
Fix style regarding parenthesis on ternary operator argument.
Add frame begin/end functions to the Timer class.

Now the Timer frames can be started where desired instead of having to
store the previous frame to start a new frame.  To use this functionality,
call beginFrame before the code to time, and endFrame after.
Add example of Timer::beginFrame to ExampleBouncingBalls.
Remove Timer::stop().  It does not fit with beginFrame/endFrame.
Add UnitTests for Timer class.
Remove Timer usage from ExampleBouncingBalls.

Trying to keep ExampleBouncingBalls uncluttered.
Normalize action tense for documentation comment in Timer class.
Use namespaces in Timer.cpp instead of explicit scope resolution.

Changed for consistency with other code.
Rename Timer::m_frames to m_frameDurations for clarity.
Use size_t instead of int for return values in Timer.
Remove while-loop waiting for non-failed clock time in Timer::now.

The boost::steady_clock::now() call can fail, but I have not seen it fail
in the Timer class.  The while loop looked like a hack with a
magic number.  Without the while loop we might get a bad time, but that
can be checked by getting the number of clock fails.
Add linebreaks to too-long lines caused by variable name change in Timer.
Add the Timer class's UnitTests in TimerTest.cpp to CMakeLists.
Remove commented-out #include line from TimerTest.cpp
Rename Timer::m_numberOfFrames to m_maxNumberOfFrames for clarity.