build correct workflow for groupby with JS (Fixes #469)

Avoid creating GroupBuilders on top of ExprBuilders, and conversely
favor making ExprBuilders over modifying the base in
ShapePreservingBuilders. This fixes all the cases covered by the
existing scalacheck test.

Added a pending test for queries with filtering, some of which are
still not working right (see #524).

Now simplifying JsCore that was generated by collapsing some of these
cases—specifically selecting a field from an object literal where the
keys is a constant.

Fixed an infinite loop in fixplate.

Improved RenderTree instances for \/ and These: no more blank nodes;
use nodeType, not label.
integration test for filtering with grouping by a JS expr

Slightly improved failure messages for containsAtLeast and containsExactly
Merge pull request #525 from mossprescott/ready/469

build correct workflow for groupby with JS (Fixes #469)