Merge pull request #227 from Ericson2314/parse-tests-and-cannonball-prep

Parse tests and cannonball prep
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.
Fixing a very subtle bug, in which a stack-bounce that happens in the middle of checking a record annotation will cause the annotation-answer "ok" to be returned instead of the intended value.

Basically, because record annotations are not refinements, checkAnn
decided that they were safe to invoke in direct style.  But record
annotations internally use safeCall, which may well bounce the stack.
If so, the checkAnn stack frame will not be saved, and hence won't be
restored.  This fix is to force record annotations to be called via
safeCall, which ensures that this lost frame won't happen.  (An
alternate solution, but a technically trickier one, is to write a
version of record-annotation checking that does not use safeCall.  We
may revisit that idea if the performance of safeCall here truly
becomes an issue...)

(cherry picked from commit cecd292c00cf72513e632f76ed0ef8cb7055485e)
Fixing the splitting of let-bound function applications, where any annotations on the binding were being ignored.  This led to not checking the return annotation on function positions (because we simply compile the body of a function to a let expression whose binding uses the return annotation).

(effectively the same commit as e01b5b69df64b1d5e92433e72a3082e8d2db40da)
regression tests to ensure we check for return annotations on
functions and methods
nothing was running this test
desugar-check follows its postcondition now

Check blocks, if nested, would remain in the AST, causing Pyret
to violently throw up when they appeared. This bug is responsible
for test failures on master.
Small modification to travis config

This should prevent build times from hitting the 50-minute
limit (or even coming close.)
Merge pull request #232 from brownplt/faster-travis

Small modification to travis config
Fix parsing and checking empty record annotations.
Update Bootstrap grammar
Update Bootstrap tokenizer