New implementation of tokens/untokens using Alex.

Upshot is that we no longer rely on whitespace to separate tokens.