Various updates and fixes to Rectangle and Vector2D + their tests

- Added getPoint1 and getPoint2 to Rectangle
- Rewritten some of Rectangle to introduce an invariant about how the
  points are stored - this makes some calculations faster.
- Added basic tests for Rectangle

- Fixed Vector2D.getAngle
- Merged Vector2DBinaryTest and Vector2DUnaryTest into a single
  Vector2DTest class (which I think is cleaner)
Implemented rest of Rectangle tests
Fixed Vector2D test code so the tests now pass
Update RectangleTest to remove superfluous prefix in fail reasons
Fixes to make Rectangle.contains tests pass
Fixed Rectangle.intersects to work with tests
Update documentation in Rectangle class
Merge branch 'rectangle-vector-tests'