[Issue 100] Implement new feature of reducing constraint violations such as contact penetration and joint position limit
Merge branch 'origin/master'

Conflicts:
	src/constraint/ConstraintDynamics.cpp
	src/constraint/ConstraintDynamics.h
Fix ranges for reducing violation related parameters.
Change default of error reduction values
Change tolerance to pass testCollision
Merge branch 'origin/master'
Merge branch 'origin/master'
Merge branch 'origin/master'
Merge branch 'origin/master'
Rename constraint related names
Use error reduction parameter (ERP) concept similar to ODE
Merge branch 'origin/master'
Merge branch 'origin/master'
Merge branch 'origin/master'
Merge branch 'origin/master'
Merge branch 'origin/master'
Fix #144: correct comment on setSelfCollidable()
Fix style of the last commit
Merge branch 'upstream/master'

Conflicts:
	dart/math/MathTypes.h
	src/constraint/ConstraintDynamics.cpp
	src/constraint/ConstraintDynamics.h
	unittests/testCollision.cpp
	unittests/testJoints.cpp
Use more consistent names for constraint error reductions