Fix bug w/tokenizing punctuation marks in words.

When a punctuation mark is surrounded by word characters (such as in
"foo.bar"), tokenize the word blocks and the punctuation marks as three
seperate tokens (in the case of "foo.bar", as ["foo" "." "bar"]).

Add a test to ensure this.