Improve LIKE/regex handling.

* Move handling of LIKE patterns to the compiler,
* add a `Search` functinon that takes a regex,
* add support for Postgres’ `~` operator (alias for `Search`),
* enable escape characters for LIKE patterns (fixes #65),
* change parsing of “suffixes” to be less hacky, and
* get rid of the `NotIn` and `NotLike` Binops and std lib functions.
implement API for queries via GET (Fixes #350)

Make output path optional when executing queries. If not specified,
the evaluator simply leaves a result temporary collection in place.

Added a TODO on cleaning up these temporary collections.
delete temporary collection after reading results

- remove “requested output” collection param from Evaluator
- Backend now moves the temp collection to the requested location when
necessary (or deletes it)
- REPL and API (GET) both get temps cleaned up for free
- “native” (JavaScript) plan no longer has the destination of the rename
Pull function names from StdLib rather than hardcoding strings.

Also

* eliminate the now-unused Between BinaryOperator, and
* add handling of `not` for `between`, and fix it for `in`.

Previous implementation would error if you tried using `not` in suffix
position for anything other than `like`.
Merge remote-tracking branch 'upstream/master' into ready/65-LIKE-escapes
use Process combinators to clean up (and don't rely on laziness of onComplete)
add cleanUpWith to Process
Merge pull request #381 from mossprescott/ready/350

implement API for queries via GET (Fixes #350)
Add new integration tests for LIKE and regex.
Merge remote-tracking branch 'upstream/master' into ready/65-LIKE-escapes
Merge pull request #379 from sellout/ready/65-LIKE-escapes

Improve LIKE/regex handling.
RenderTree instance for 4-element left-factored tuple "lists"
some tests
test for group on a field
regularize handling of grouping

- eliminate WorkflowBuilder.groupBy
- pattern match in reduce()
- flatten and rebuild values when merging GroupOps
get op/builder tests passing

- collapse makeObject on simple GroupOp
- insert group by const when needed in reduce()
more progress
update tests after rebasing
fix assertions for one test after rebasing
fix assert after rebasing (this one no longer unwinding)