more forgiving load_pgn.

I had issues loading pgn from chess.com. I figured out the file was using `\n` end line but one line was ending with `\n\r` (which is weird).

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 `\n\r?`, this way the pgn parser is more forgiving.