Simple Pathfinding Routine

Added a simple pathfinding routing to the navigation package. It is
really only a first draft, but will move around most small obstacles.
Added INavigationObserver interface and callback

Using the observer pattern, I added a way for an external class to hook
into a navigation event. This will notify the class whenever the
Navigator has moved to a new coordinate
Added Basic Origin Return tracking

Need to add sensor to it, but can return data on how the robot would
currently return home which
Added Roaming

CS can roam for X number of spaces. It will also try to not go to the
previous space if possible.
Removed an unused import
Fixed bug allowing CS to move diagonally

Fixed bug and added test
Merge branch 'master' into NavigationPathFinding
Added sample usage of navigator callback
Merge branch 'NavigationPathFinding'