Add all new tests that already pass with old tokenizer
Add space around caret / cannonball operator in src, tests, and doc utilities.
type instantiation now parses correctly. Here's why:
 - All symbolic operators require whitespace on both sides
   (+ - * / >= <= > < <> ==
    - Should "and" "or" "raises" and "satisfies" require that too?
 - type instantiation and friends no longer accept LT and GT
Most ops defined with new function `op`, English ops defined `kw`

newlines before and after operators, and betwen symbolic and infix ops
Caret is now an op, put with the other ops (moved over disjoint regexps)
Match trailing whitespace with more tokens (see table below)

              | check + match  | have
              | trailing space | `parenIsForExp` set
--------------+----------------+--------------------
`COMMA`       |                |        X
`THINARROW`   |                |
`THICKARROW`  |       X        |        X
`COLONCOLON`  |       X        |
`COLON`       |                |        X
`EQUALS`      |                |        X
`COLONEQUALS` |                |        X
s-instantiated now desugared by erasure in anf.arr
anf.arr as opposed to desugar.arr to support future type checking of it
Add tests to prevent parser tokenizer regressions

Also add missing semicolon after existing test
Merge pull request #227 from Ericson2314/parse-tests-and-cannonball-prep

Parse tests and cannonball prep
Some tokens are wider than GT and LT and thus need a separate cleanup
A few more tests for type function elimination (as opposed to forall elimination)
Merge pull request #228 from Ericson2314/tokenizer

Tokenizer changes needed to lex type-instantiation angle brackets separately from numeric comparison operators.  This revealed a bunch of other potential whitespace problems in lexing, which should now all be uniformly fixed.