Checkpoint: refactorings and cleanups to the way references work in order to enable experiments with 'unsafe' support.
References now have 'get' and 'set' methods instead of a 'value' property.
Added an ArrayElementReference type distinct from MemberReference (even though they are behaviorally identical right now).
Better exception info for errors generated by astEmitter.Visit(Function).
Checkpoint:
Reads and writes through references have their own distinct JSExpression types that produce the get/set method calls appropriately.
IntroduceVariableReferences now generates read-through/write-through expressions for all uses of ref variables.
Checkpoint: Correctness fixes to reference transformations
Checkpoint: Fix writes to struct arrays generating an old-style '.value' reference.
Old-style '.value' references throw at runtime.
Checkpoint: Fix old-style uses of .value in Dictionary.TryGetValue.
Throw on old-style use of JavascriptFormatter.Identifier
Checkpoint: Fix DeoptimizeSwitchStatements breaking due to new reference expression types
Update build_demos title