Fix bug in Command::Matcher (hidden dependancy)

This Module is dependant on ::Base and ::Place since it calls
.constatns() on self, thus expects those constatnts to be defined.

Solution is to require those modules at top of file. Better design
is the way to solve this if more constants are to be defined in
the future.
Update tests in PoseTest to assert public interface

a_pose should respond to 'x', 'y' and 'orientation'
messages since Board dependes on it.

This commit also includes a test for initializing Pose
without arguments, to be effectively used as the null
pose.
Fix Pose Class to get passing tests.

Add public interface messages and allow initialization without
arguments.
Fix bug in Robot that would not allow placement.

Robot was running .place() through the with_placement() filter
which it was not intended, since it would not allow a non-placed
robot to be placed in the future.

This commit removes that filter for the 'place' message, and adds
the respective tests.
Add test for nil pose in board.valid_pose?()

Board now checks for pose object before sending messages to it.
Reword `assert !_obj` to `refute _obj` in BoardTest
Move pose checking responsability away from Placement

Placement checked for pose when asked if on_board?. This is not
part of its responsability.

In this commit, this responsability is delegated further down to
the board, object. That is Placement's expectation.
Implement TestView to drive View's design