a linear commited player
add P2 to the sample game
Fixes version 4.1 for PHPUnit.

Also changes the requirement as a development requirement, since it is
only needed for tests.
Add CartesianPlane and Point.

A cartesian plane has limits (x and y axis) and is
inteded to hold the game state.

A point in the cartesian plane is stored in an
SplFileObjectStorage so we can manage what is holded
into any given point, in my mind, that "bag" holding
stuff (who own a point on the plane, what it has) for
a point should be called "Tile".
Fixes search of neighbors.

When an index does not exists in the arena array, a notice was being
raised.
Tests (integration) end game results.

Favoring always Player 1, this transposes the relevant contents of
`playgame.php` to an integration test in order to provide refactor
capabilities.

Player 1 is always favored because he moves later, overwriting the move
from player 0 on game turns. He rarely loses, for now, I think this test
should survive the ocasional failures (they are rare) as it is our only
end-to-end test.
Replace width and height for Geometry\Cartesian\Point.
Create `Turn` class to control game turns.

A turn is observable as a subject, the game is an observer of it and is
updated each turn occours.

The `Turn` class is also an iterator, each iteration increases one turn
util the limit of turns is reached. Every turn notifies the observers.

The Game class is made iterable, returning the Turn object of the game
so we can do update the game state every turn.
Moves and refactor ArenaTest to integration suite.

Explain variables as I dig through the code to understand the mechanics.
Took a lot of opionated actions on naming as they likely convey better
the methods behaviours (also raised on @TODOs).

Tests were renamed also, to better express the expectations and
canditions of each one.