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).
Here's my trick: this op lets you construct nodes like this: `Ident("foo").fix`, with no need for manual apply/unapply methods.