Ragdoll Part 7: introduction of ContactConstraint

Using ContactConstraint to try to prevent tunneling.  There are noticeable improvement for arm-vs-arm tunnelling but fingers can still tunnel through arms and other fingers -- their shapes are too small and contact points lose coherence during enforcement of other constraints.

Next: improve anti-tunneling and add friction effects.