Improved laziness by allowing token to be overloaded.

Moved 'token' to the TokenParsing class.  Instances now
have the opportunity to create a token-parser that parses
whitespace before the parser, so that it can return its
result immediately and not wait for all trailing
whitespace.  If the parser is pulling packets off a
network, for example, this can make the difference between
finishing the job or waiting for the next packet to come in
for useless information.