Test cases for walk() and walks().
New methods and improvements.

* New isEmptySquare(coord) to test if a position is empty.
* New coordinates() to iterate over all valid positions.
* New DIRECTIONS, with common deltas for walk() and walks().
Split run() logic to __runMatch__()
Build fixes and improvements.