More refactoring.
Refactored some more.  All tests passing.
Made row and col distance more generic.
Still refactoring can_reach