Add the ability to perform result set updates to the compiled mappings.

This allows us to remove any dependency on Linearizers from
QueryInvoker.
Switch QueryExecutor over to the new execution model.

This breaks SlickBackend (and thus QueryableTest) for now because it
relies on type information in the ValueLinearizer instead of properly
encoding the client-side conversions into the AST.