Adding tests for Queen-side castling.
Update javadoc to describe the legality of moves some more.
Adding tests for cases that the right to castle is invalidated.
Adding tests that ensure a single side can't make consecutive moves.
Some notes and tests for castling.