Performance improvement for forward dynamics

+ Move variable size variables in `BodyNode` to each joint class and use fixed size variables instead
+ Create `SingleDofJoint` and `MultiDofJoint` classes
+ Update copyright years
+ Note: `EulerJoint` is unstable