Fem1DRepresentation initial check-in

- Fem1DRepresentation is the containing class for all 1D FemElements.
- Fem1DRepresentation's elements have nodes that have 6 dof, the first
  three are translational and the last three are rotational.
- Adds new RepresentationType enum value for Fem1DRepresentation.
- Modifies DeformableRepresentation::getPosition to only return
  translational position.
FemElement1DBeam initial checkin

- FemElement1DBeam is based on the Euler-Bernoulli beam.
- Modify FemRepresentation::doInitialize so that the elements are
  initialized before the mass is calculated.
ExampleFem1D initial commit

- Example visually demonstrates a series of connected 1d beams attached on
  both ends as they spring down under the force of gravity and then back
  up.
Fem1DRepresentationTests initial commit

- Tests basic functionality of the Fem1DRepresentation.
Add beam deflection testing to Fem1DRepresentationTests

- Beam deflection is compared between the theoretical results derived for
  an ideal beam and the results we find through modeling.
Add 100pt Gauss-Legendre quadrature
Unit test for FemElement1DBeam initial commit

- Add basic unit tests for the 1d beam.  Stiffness and mass matrices are
  compared against independently copied entries from the literature.
Add shape function mass matrix comparison to FemElement1DBeam unit test

- Add new unit test to verify the mass matrix.  Mass is derived through
  integrating the shape function over the volume.
Store contact information in SurgSim::Collision::Representation

Create a data field in Collision::Representation to store collision
information if there is any.

Comes along with a method to retrieve this data, a method to reset this
data and a method to check if the contact information data is empty.
Change name of method didCollide() to hasContacts()
Add UnitTest for Collision::Representation
Store collision information in SurgSim::Collision::Representation

In SurgSim::Collision::Representation, a list of colliding objects are
stored as std::deque.

Associated with each collision, a list of contact points are also stored.
(As unordered_map)
Add addCollision(), rename methods

1. Use shared_ptr<> instead of weak_ptr<> in m_colliders and m_contacts.
   Then, change methods' signatures which use them.

2. Rename "reset()" to "clearCollisions()".

3. A new method to add collision information(collider and contact point)
   to this collision representation.
Call 'addCollision()' in Collision::addContact()

Once Collision::addContact() is called, there is a collision happened.
Thus, such collision information is pushed into each collision
representations.
Reset/clear the collision list when making up a collision par.

In DcdCollision::doUpdate(), a new CollisionPair will be created for
every two participating collision representations.

Before construct the pair, the old collision information in each
collision representation should be cleared.
CppLint warning fix
Merge branch 'master' of git.assembla.com:OpenSurgSim into wip/storeContacts-CollisionRep
Update fem1d example, allow variable number of nodes

- Replaced using number of nodes as a global variable with a passable
parameter.
Update fem1d example, remove auto keyword

- Examples should not use the auto keyword.
Update fem1d example, various fixes

- Added comment describing createFem1D function
- Brought stringstream outside of for loop
- Renamed variable holding the quaternion identity.
- Removed scope for creating the scene elements.
- Used three different integration types for the visual examples
- Removed the overlay of the three different integration types.