parse x [:: ann] = e
option to unlink what raco did
add x = e as a binding form

Implementation:

- Exactly the same as letrec except in static checking
- Typechecker now complains if =-bound identifiers are assigned to
- Typechecker ensures the same name isn't both an identifier and a variable
- Shadowing is allowed, but multiple names in the same context are not
better error messages, and use immutables more often in desugar
Update the world for var x = e

- Change parsing of var x : e to var x = e
- Change all examples to use = instead of var x :
- Remove var where possible, replace with plain =
.
Merge branch 'unstable'