Declare a bunch more token types, and categorize them.

These categories will allow easier recognition of different classes of
token that have things in common.
Teach the Scanner to parse some punctuation tokens.
Test the scanner's keyword recognition.