Some load_pgn updates

The use case of this is to allow loading of more annotated PGNs. For example:
```
1. d4 d5 2. c4 e6 3. e3 Nf6 4. a3 c6 5. Nf3 Bd6 6. cxd5?!
(6. Bd3 O-O 7. O-O dxc4 8. Bxc4 c5 9. Nc3 Nc6 10. dxc5 Bxc5)
6... cxd5 7. Bd3 a6
```