Changing a-if to be ALettable, and changing the compilation of them
accordingly, so that we don't have to allocate lambda helpers for the
continuation after an if expression.
no more ast-split
remove unused anf.arr forms
eliminating dummy assignments to variables for sequencing
partially working implementation of s-cases via switch instead of helpers.   some switch cases aren't being emitted, or labels are being produced incorrectly, so overall this doesn't produce a working bootstrap yet.
bootstrap from previous, manually created interim state, and changes to compile cases correctly.
new bootstrap with cases compilation
Merge branch 'master' into no-helper-funs

Conflicts:
	src/arr/compiler/desugar.arr
new bootstrap after merge
distinguishing between singletons and nullary constructors in cases expressions
making pattern locations more precise in AST, for use in error messages
new bootstrap with better locations on cases arity/singleton errors
wrong location used in the stack when reporting errors
Use String instead of Expr for field names.

Now that it is impossible to enter an expression for a field name, we
can safely switch over using Expr to String in the AST.
Clean up doc generator to work with new AST.
Merge commit '6415f22a9ea3b7420e467803139244896720e336' into no-helper-funs

Conflicts:
	build/phase0/pyret.js

The compiler has been bootstrapped to disallow expressions as field
names.
Merge remote-tracking branch 'origin/master' into no-helper-funs

Conflicts:
	src/arr/compiler/desugar.arr

Rebootstrap so the compiler only uses Strings to represent field names.
Add s-exp built-in library for parsing s-expressions

- Add new string-isnumber function for testing if a string can
  be converted to a number
- Require s-expression library from npm as a dependency
- Tests and runtime function for reading s-exps
explicitly instantiate all the trove modules ahead of time
explicitly set s-expression to an external library