This patch also moves a bunch of the parser code into the tokenizer. Closes #162.
The note is not visible to the blocked user.