handle Length in non-selector position (Fixes #382)

New JsCore ADT representing JavaScript expressions.

New $SimpleMap op which applies a JsCore to each value.

Simple cases work, but many queries run into bugs in construction of groups
(see #403, #407).
    Squash before OrderBy (Fixes #264)
Merge pull request #429 from mossprescott/ready/264

Squash before OrderBy (Fixes #264)
update scoverage

Also:
- turn highlighting on
- increase minimum coverage

And excluded classes that we cannot test in non-integration tests:
- the REPL
- the MongoDB API wrapper and executor
- some RenderTree debugging code

This pretty much makes the coverage number meaningful; there’s no
reason it couldn’t be 100%.
Scalacheck test of unparsing-parsing round trip
fix some errors in un-parsing

- missing parens
- flattens not handled properly
- dis-ambiguate leading “distinct” proj.

Also a couple of minor issues in the RenderTree instance.
bump min coverage to 66
delete commented line
Merge remote-tracking branch 'upstream/master' into ready/382
Merge pull request #431 from mossprescott/ready/parser-coverage

Improved coverage reporting; increased coverage for the parser
Merge pull request #427 from mossprescott/ready/382

handle Length in non-selector position (Fixes #382)