Refactor public interface tests.

Tests for Board, Pose, Poser and Reporter roles/objects
have been moved/expanded into seperate classes for
a clearer overview of the system.

This commit also includes a PoserDouble class which
the BoardInterfaceTest depends upon.
Implement PoseDouble and BoardDouble classes

This classes to be used while testing. They are
tested to be compliant with their respective interfaces.
Update BoardTest to use BoardDouble

It also removes duplicate code for interface testing.
Update Pose and PoseTest classes to conform with new interface

Both classes where updated to conform with PoseInterfaceTest.
Rewirte RobotTest and update Robot classes

These changes are done to reflect recent changes in dependant
interfaces, as well as to make the code base more clear and
succinct.
Add hash like access to Pose Class

This allows for a cleaner code base since this object is now
interchangable with a hash.
Update Board Class and tests to use hash access

Board tests are now cleaner since they do not depende on
PoserDouble classes. They rely on the hash access to x,
y and orientation properties.
Remove PoserDouble class and tests

These are no longer needed, since a hash can play that role.
Update CommandParserPlaceTest to use hash access