Add methods to check if the move is an attempt at castling.

They will be used in moving the Rooks once the move is determined to be castling.
There is a problem with checking the legality of castle moves.
Do not set the moved flags to true before we have actually decided if we'll do the move or not.
Dirty but all tests are now passing.

The problem was that when we moved the piece checks conditional, the boolean
variables determining if the piece is white/black king were set _after_ they
were needed. <3 Unit Tests.