Switched how possible moves are tracked

Previous approach required redundant calculations on possible moves.
Current approach requires additional management on the piece and board,
but should allow for less intensive checks on end game conditions such
as Check-Mate and Draw