Restructure terrain class hierarchy.

`RigidBodyTerrain` is now an abstract class. `RigidBodyFlatTerrain` contains
the implementation that was previously in `RigidBodyTerrain`. This makes it
easier to handle the fact that `RigidBodyFlatTerrain` is a special
implementation, in that it can be pushed to Bullet.
Support non-flat terrain in collisionDetect.

As of this commit, non-flat terrain  as it was before, with the contact points
replaced by locations of any zero-radius spheres on the model.
Fix erroneous property in RigidBodyFlatTerrain
Add support for box/terrain collisions.
Merge branch 'collision-dynamics-integration' into terrain-integration
Rename terrain collision methods and add help text
BotVisualizer checks for RigidBodyFlatTerrain

It was checking for RigidBodyTerrain, which meant that it would error for
models with flat terrain.
Merge pull request #17 from avalenzu/terrain-integration

Gets us back to where we were with collisions against terrain (or a bit ahead, as now everything can collide with flat terrain).
Move ContactForceTorqueSensor (and test)  into dev

We want to rewrite this anyway,so fixing the current version for the changes
to our collision infrastructure doesn't seem like a good use of time. I'm also
pretty sure that I'm the only one whose used it at this point.
Add RBM methods to add shapes to bodies.
Add TSRBM pass-through methods for adding shapes
Fix calls to parseBodyID in RBM.
Add constructor args for geom-to-body transform

`RigidBodyGeometry` and its children now accept specification of the
geometry-to-body transform in their constructors. The transform can be
specified either with a 4x4 homogeneous transform or xyz, rpy values.
Calling the constructors without these arguments sets the transform to
identity (previous behavior).
Add ignore_self_collisions option to RBM.

This lets us simulate models like PR2 that have bodies embedded in other
bodies.
Make `PR2/{runPassive,runSagitalPassive}` run

This required changing these to use `TimeSteppingRigidBodyManipulator`s with
`ignore_self_collisions` set to `true`. If they were left with regular
`RigidBodyManipultor`s they failed while trying to resolve constraints in
`DrakeSystem/getInitialState`. This occurred even with the ignore
self-collisions flag set because the plants were generated as fixed base
manipulators and therefore the PR2 body was part of the world. Several links
are embedded inside the body link which are not children of that link. This led
to unresolveable collisions.
Restore "ignore collisions with parent" behavior.

I think that given that we take convex-hulls of mesh geometries, this is the
right way to go. The world (body 1) is a special case. All bodies can collide
with body 1, even if it's their parent.
Move contact sensor related files.
Updated RigidBody removeCollisionGroups(Except) to work with contact shapes. Fixed runCOMFixedPointSearch unit test. Minor additional bug fixes.
Merge branch 'andres/collision-dynamics-integration'
Merge branch 'collision-dynamics-integration' of github.com:avalenzu/drake into collision-dynamics-integration