add ! to accepted leading characters in word tokens

We don't do any history analysis (not that I believe the grammar ever
would) but we can accept ! as a legal character in a word for parsing
purposes and handle other outcomes downstream.  This fixes #11.