Implement cubic hinges, and fix the sign of 2D angle_between

1. Implement slightly improved version of Garg et al.'s "Cubic shells".
   Our version has a positive definite quadratic part.
2. Move force_test function to a separate header.
3. Make a few Vector methods into free functions (rotate_left_90 and friends).

4. IMPORTANT: Fix angle_between in 2D to return a correctly signed angle.
   If you want the unsigned version, apply abs.