Add checks for clear vertical & horizontal.

This improves code coverage for my hasClearPath() method by ensuring
that pieces in the path of  horizontal or vertically moving pieces
prevent movement beyond them.
Add tests for clear diagonals.

These tests ensure that pieces in the path of a diagonally moving piece
prevent movement beyond them.