Can only move pieces to targeted locations

Some new logic was introduced so that pieces can't be moved anywhere. They can only be moved to locations which they target.

If the piece targets a location with another piece, the targeted piece can be taken.

Targeting is not up to par yet. WhiteLocations and BlackLocations do not get updated when pieces move.

Tests were modified to reflect changes made for this commit.