more forgiving load_pgn.

I had issues loading pgn from chess.com. I figured out the file was using `\r\n` at the end of lines.

While debugging I figured out the mask and therefore regex to remove heading lines were slightly wrong, as `\r` were not covered the same way as `\n`.

I also added test case and changed the newline_char default to `\r?\n`, this way the pgn parser is more forgiving.