Added a swappable pair, added RayBoxIntersection.
Added note about implementation and unit tests.
Added HashCode and Equals methods.
Adding Cuboid and CuboidUtility
Annotations and bug fixes. Updated gitignore. Case 3 is too greedy, check conditionals and implement JUnit tests next. Then some refactoring.