Collision dynamics integration

147 commits of unit-test passing (well, aside from the known issues), collision detecting, contact simulating goodness. @mposa and I touched *a lot* of files on this one.

At the end, we have simulation with collisions between boxes, spheres, capsules, convex-hulls of meshes, and flat terrain. We also have collisions with non-flat terrain for zero-radius spheres and boxes.

Together with RobotLocomotion/bullet-pod#4 this gives good gradients for closest/penetration distances (apart from true degenerate cases).