Added copyOctreeNode functions

Added two functions for copying octree nodes. Once for when the Data in
the OctreeNodes is the same type. In this case the data is copied over
as well. A second function is added for when the data is a different
type, in this case th data is not copied.
Add OctreeData Unittest for empty data

Added a unit test to make sure an empty struct can be used as the Data
template parameter.
Move getNode from OctreeShape to OctreeNode

Move the getNode and OctreePath from the OctreeShape class to the
underlying OctreeNode data structure. It makes more sense attached to
the data structure than the shape.
Removed template from OctreeShape and OctreeDcdContact

Removed the templatization from OctreeShape and OctreeDcdContact. They
now use an OctreeNode with an empty Data type.
Add Octree Collision to Physics

Add octree collision to contact table in physiscs. Now, by default the
physics manager will be able to perform DCD collision between an octree
shape and a box, plane, double-sided plane, and a sphere.
Put copying of OctreeNodes into constructors

Remove OctreeShape::fromOctreeNode, and instead create a OctreeShape
constructor that copies from a node. This constructor can handle nodes
with different templated Data. It just strips the data.

Remove copyOctreeNode functions from OctreeNode. These are replaced by
templated copy constructors in OctreeNode. If the templated Data type is
the same, the data is copied. If the Data is a different type, no data
will be copied.
Mark OctreeShape constructor explicit, fix spacing

Mark the new OctreeShape constructor as explicit, fix the spacing in a
for look in the OctreeDcdContact.
Fixed some unneeded includes in CollisionPair

Walter Schoen found this:
 I noticed that "RigidRepresentationParamaters.h" accidentally included
 "Shapes.h" instead of "Shape.h", and "CollisionPair.h" spuriously
 includes "RigidRepresentation.h". The header "Shapes.h" brings in all
 the shapes...

Removing Shapes.h from RigidRepresentationParameters.h and
RigidRepresentation.h from CollisionPair.h resulted in a lot of missing
includes that were being incorrectly included through other includes. In
particular, just about everywhere in Collision had all the shapes
included, without directly includeing the shape .h files. So, this
change corrects the includes and also reorders the includes here and
there.
Remove duplicated includes from AddSphereFromInput

I Accidently added duplicate includes to the AddSphereFromInput Example.
This fixes the issue.
Changed doxygen comment in OctreeDcdContact

Added [in/out] to a parameter documentation for the pair. This just
highlights that the pair is used for input, but will be modified during
use.
Merge branch 'fix/remove-octree-shape-template' into 'master'

Add Octree Collision to Physics

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/627353
Merge branch 'fix/collision-includes' into 'master'

Fixed Includes in Collision

+1: Harald Scheirich, Julien Lenoir, Walter Schoen

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