Obstacles requirement tests and implementation

Wrote tests for:
- not changing position when moving forwards into obstacle
- not changing position when moving backwards into obstacle
- stopping at last possible point when encountering obstacle

Refactored executeCommands to return whether the whole string was
executed or not (boolean).
Refactored moveforward and moveback to return false if an obstacle was
in the way and the position didn’t change
Added obstacle tests to test suite