Changes:
* `chess.uci.Score` **no longer has** `upperbound` **and** `lowerbound`
**attributes**. Previously these were always false.
* Significant improvements of move generation speed, around **2.3x faster
PGN parsing**. Removed the following internal attributes and methods of
the `Board` class: `attacks_valid`, `attacks_to`, `attacks_from`,
`_pinned()`, `attacks_valid_stack`, `attacks_from_stack`, `attacks_to_stack`,
`generate_attacks()`.
* UCI: Do not send *isready* directly after go. Though allowed by the UCI
protocol specification it is just not nescessary and many engines were having
trouble with this.
* Polyglot: Use less memory for uniform random choices from big opening books
(reservoir sampling).
* Documentation improvements.
Bugfixes:
* Allow underscores in PGN header tags. Found and fixed by Bajusz Tamás.
New features:
* Added `Board.chess960_pos()` to identify the Chess960 starting position
number of positions.
* Added `chess.BB_BACKRANKS` and `chess.BB_PAWN_ATTACKS`.