Remove JointType

- Type defendent program is not recommended
- Only workaround for Issue #122 use dynamic_cast but this should be gone once this issue is resolved
Add Skeleton pointer to Joint class and clean up Joint class

- Skeleton pointer is required to notice to the skeleton that joint values are changed
- The skeleton point is set by Joint::init() and the init() function called by BodyNode::init()
Clean up GenCoord
Clean up GenCoordSystem
Clean up interface of Skeleton for generalized coordinate (still need more clean up)
Add kinematics interface for joints
Remove unsued variables
Update Migration.md
Update Changelog.md
Atlas app: fix clang compiler warning
Remove workaround for Issue 122
Clean up BallJoint and FreeJoint
Add a test for Issue 122
Change default parameter value of setters for generalized coordinates
Update comment
Merge pull request #161 from dartsim/dynamics_api

Improve interface for forward kinematics
Fix typo
Apps: Display arrows for pushing forces on bodies
Add OpenMP option 'USE_OPENMP'

- OpenMP was enabled only for Windows but not for linux nor mac
- The default is TRUE
- Some Eigen's algorithms can exploit the multiple cores present in your hardware (see: http://eigen.tuxfamily.org/dox/TopicMultiThreading.html)
Remove check code for OpenMP support