When Go converts a string to JSON, it treats % just like it would if it were formatting a string and so a lone % gets encoded as "%"(MISSING), which is invalid JSON.
Double % ("%%") fixes this.
Added a lot of Fusion PGN definitions. There ought to be a better way to do this, but Fusion's proprietary PGN format is kinda wonky.
Added decoding for C-style strings (of which there are very few).
Added support for repeating fields