accept "is null" and related syntax (Fixes #443)
- including "is not null" and "is (not) true/false"
- with a new func `IsNull`, currently just translated
(by the backend) to `= null`
- numerous tests, several pending new related tickets

Also some small improvements to the integration test driver:
- no longer loading data sets for skipped tests
- including the test file path in the name, so you can filter on it using "-ex"
reference the right data set
Merge pull request #468 from mossprescott/ready/443

accept "is null" and related syntax (Fixes #443)
re-imagined objectConcat (Fixes #458)

Now matching several additional patterns in objectConcat,
8 in all, meant to cover all the possibilites of known
shapes with a correct implementation for each combination.
Cases produced by wildcards are explicitly matched and
the existing merge-based code is used only in those cases.
If any other shape is encountered, the planner fails with
'unrecognized shapes' and we'll have to figure it out.

GroupBuilders now keep track of the source and keys they
are built from, even as expressions get folded into them.
This allows objectConcat to easily, definitively tell when two
GroupBuilders can be combined, without having to inspect keys,
which may have been rewritten. `GroupId` contains the list of
builders for the source and keys, but only the hashCode is
shown to keep the log clean.

Scalacheck tests for the planner, generating queries with
a combination of ExprOps, JS exprs, and reducing functions
in the projections, with and without a "group by" clause.
Assertions check for too many group and/or unwind ops, and
consecutive simpleMaps. This has been *very* productive in
finding problem cases, and can easily be extended to other
type of queries.

One pending scalacheck test for a problematic case (see #469).

Many tests now have nicer tmp names (fewer missing numbers),
and one or two got worse.

Random JS-generation stuff:
- `JsMacro.compose`
- Fixed indent for JS object constructors.
- Switched some `toJs` methods to JsMacro (the last, I think).
- Some `Access` nodes became prettier `Select`s.

Fixed the untyper for math functions.
update for IsNull from master
test for `compose`

Is this the right semantics? Can’t decide for sure, but I think this is
actually `>>>`/`andThen`.
respond to feedback
- renamed `compose` to `>>>` because that's what it's doing and it seemed clearer
to keep it that way given how it's being used.
- reference #471 in a TODO
- fix/simplify untypers for the math funcs
Merge pull request #470 from mossprescott/ready/458

re-imagined objectConcat (Fixes #458)