Improve generators once more.
Start implementing castling.
Fix compiler errors.
Add tests for castling.