There's a bug (and question): should we test simple keys' validity BEFORE stuff or AFTER stuff?
Refactored some common whitespace-parsing code in scanning both scalars. Implemented the flow collection tokens.
We're now using exceptions for errors, and scanning/pushing tokens is exception-safe (using a set of "limbo tokens").