Added associated tokens to ParsingExceptions.

ParsingException now has a token attribute, which can be set by a
simple mutator. The purpose of this is to carry as much information
about the token that triggered the exception as possible back up to the
handler.
Added a filename attribute to ParsingExceptions.

Following the conventions already set by the token attribute, this is
slightly redundant information used to find the file associated with a
PE when possible. Notably useful when the PE is triggered by an unclosed
block.
Includes a small addition to util to fetch the filename from a stream,
and a tweak to tokenize to use it as well.
Minor cleanup in tokenize: added comment describing states.