Working commit on collision integration. Updated contactConstraints (untested), removed contactPositions. Added unilateral constraints to DynamicalSystem and subclasses and integrated into findFixedPoint and resolveConstraints.
Working commit. Rewrote contactConstraintsBV to use new contactConstraints. Rewrote RBM.findFixedPoint
Working commit.
Working commit.
Changes to solveLCP for new contact formulation.
Merge pull request #2 from mposa/collision-dynamics-integration
Change closestPointsAllBodies (cpp) outputs

Points are now output in body frame. Also, it now returns just the points,
distance, and normal.
Changes to `CMakeLists.txt` to make things compile

Comments out all of the IK infrastructure while the collision interface is
being updated.
Get bullet gradients working (messy commit)

Just want to make sure I don't lose the progress I've made here. The most
important change, however is not in Drake - Bullet ought to be compiled with
double precision (which is *not* the default). There's a switch in the Bullet
CMakeLists.txt. Any code that includes the Bullet headers also needs to contain

```
```
or that flag needs to be set for the whole build.
Fix frame of closest points returned to MATLAB.

I was missing the transformation from the geometry-element frame to the link
frame.
Add getLinkTransform method to Element class
Comment out some debug print statements.
Set margin to zero for boxes and meshes.
Add testCollisionGrad.

This needs work to be proper unit test
Add two new options to geval for numerical grad.

- `diff_type` takes values of 'forward' or 'central' geval uses the corresponding
  finite difference scheme to compute the gradients.
- `da` takes a numerical value. This is the step size for the numerical
   differentiation.

Need to add these to `geval`'s top comment.
Add signature and comment for new collisionDetect
Use double precision for Bullet.

Define BT_USE_DOUBLE_PRECISION in collision CMakeLists.txt. We shouldn't need
to do this once we can read it from the pkg-config file properly.
Fix inheiritance and ctor of RigidBodyMeshPts
Return one potential contact per geometry pair

This is a change from the previous approach, which returned one potential
contact per pair of bodies. The old approach could lead to the closest points
jumping from one geometry to another. The downside to the new approach is that
there are many more potential contacts for systems with many contact shapes per
body.
replaceContactShapesWithCHull replaces all shapes.

This is useful for 'condensing' bodies that have lots of contact shapes, as it
reduces the number of potential contact points (see 452e044).