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
Change default parameter value of setters for generalized coordinates
Update comment
Merge pull request #161 from dartsim/dynamics_api

Improve interface for forward kinematics