Relax ProductReader to accept all token characters

I noticed that `ProductReader` was failing to read `Engine.VERSION_HEADER` because of the '-' character. I changed the code to use `isTokenChar` (previously it was using the equivalent to `isAlpha`).

It looks like `isTokenChar` does not exclude control characters, and the product reader is expected to accept spaces: I was wondering, are those intentional deviations from the specification for compatibility?