PGN Scanner, UCI Notation Fix
Special thanks to @AubreySLavigne for finding the issue with Long Algebraic Notation. Long Algebraic Notation was actually encoding and decoding in UCI notation. To fix this a new UCI notation was created and Long Algebraic Notation was corrected. This can break some clients if you depended on the broken behavior.
A new type Scanner replaces GamesFromPGN to handle large database files that can't fit all games into memory.