freeplay for calc

- have Calc handle a bunch of places where expressions might be null when we never thought they would be before
- have ExpressionNode now start by saying it has met expectations, and only change that when setting an expectation (previously we distinguished between no expectation set and meeting expectations)
- on levelbuilder, move free_play into common blockly haml, but don't display if we're a grid.