Add test cases to check legality in load_pgn() tests

This is a manual merge of mattflaschen/load_pgn_fixes branch.

Closes #21.