[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'
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
Add upper bounds for constraint error correction
Merge pull request #145 from jslee02/issue-100

Fix #100: Correction for constraint errors