between_vecs implementation, more functions moved to Rotation2/3 traits

-moved ```Quat``` implementations into quaternion module
-implemented ```between_vecs``` for all rotations, it is now a Rotation trait member
-moved ```from_*angle*``` and ```from_euler``` functions into the corresponding Rotation2/3 traits