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.
Maybe use `StdLib.Between.name`? It’s a little verbose, but keeps us from duplicating that string anywhere. Or, `InvokeFunction` could have an `apply` that takes a `Func`, and pulls out the name itself. Or … `InvokeFunction` could contain a `Func` – that means we get missing function errors at parse time.