Cartesian\Point, Cartesian\Plane and Turns.

The commits express everything I wanted to (or thought at the time). I took the tests @iannsp made and put them inside an Integration suite, also explained them facilitating understanding of the game (as I progressed through the code).

I did not made the refactor on `Arena` with the `CartesianPlane` because I would like some feedback before procceding.

PS: some of my opinions were raised on `TODO`s, try grepping for them.
PPS: I used [snake case][1] on test names (instead of [camel case][2]) as I think they are more readable for long test names.

[1]: https://en.wikipedia.org/wiki/Snake_case
[2]: https://en.wikipedia.org/wiki/Camel_case