Changed exception types.

Replaced generic Exception with InvalidOperationException.
Added values to Heading enumeration.
Moved coordinate validation logic.

Moved from ForwardMove command to BattleArena. Robot now calls the
validation logic before moving.