Added movement strategy abstract class

Robot class now excepts a movement strategy that tells it how to move
Added Arena to the project

Can now create an area with a valid length and width
Starting to flesh out the game manager

Not sure where I'm going with this yet. Just going to keep coding and
see what ideas happen
Shifting some bits around

I think the plan is to change the robot to allow it to be given a set of
instructions and execute one at a time. Then the game strategy can
execute them in which ever order it likes.
Testing the default movement strategy
Robot only executes one instruction at a time

Originally the robot execute all the instructions. Now it just executes
one. This means I can move the order in which the robots movement is
executed to a strategy allowing it to change later.