PGMFormat: accept non-newline delimiters

The PGMFormat was assuming each piece of metadata was on its own line.
This is not guaranteed to be the case, as the PGM spec just says
"whitespace."

We now read whitespace blocks until all necessary metadata has been
discovered.

Closes #217