Passage verifier now uses TweeLexer

* The verify passage feature now uses a subclass of TweeLexer to
identify potential errors.
* As a result, the structure of header.py's passageChecks() data has
altered drastically. The functions are now grouped into tweecode checks,
Javascript checks and CSS checks. Their return values can now neglect to
provide a substitution if no obvious one can be made.
* Added an unmatched macro tags check to the verifier.