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.
Use the new JdbcCodeGen phase for DeleteInvoker
Use the new JdbcCodeGen phase for UpdateInvoker
Bring the design of InsertInvoker closer to the other invokers.

It's not entirely the same because there are insert methods which take
another query or expression, so we cannot compile to SQL up-front. Instead
we compile to an Insert node (using only the special compileInsert phase
instead of the full query compiler) and wrap it in a client-side mapping.
This gets passed to the InsertInvoker which can then call the
InsertStatementBuilder (and the driver's selectStatementCompiler when
inserting from the server side) for the final compilation step.

Of course, we also use the new typed AST for the converters instead of the
old linearizers.
Remove dependency on linearizers from constraint handling and templates.

Index/constraint handling used to rely on linearizers for getting a list
of referenced columns. Instead we now use the Shape to pack() the original
value, grab the packed Node and extract the linear sequence from that
(which can be done independently of the Shape -- see
ExtraUtil.linearizeFieldRefs).

QueryTemplates not only do not need the linearizers any more, they can
even be unified with QueryInvokers (so that a QueryInvoker[P] is simply a
QueryTemplate[Unit, P]) with the additional unit invoker mix-ins.
Remove the old type encoding.

After weeks of switching everything over to the typed ASTs, we have
finally reached the point where we can completely remove the old type
encoding based on ValueLinearizers and JDBC-related accessor methods in
Column classes.

- Only one reference to the lifted embedding remaining in the query
  compiler (CreateResultSetMapping matches on Column).
- No remaining references to the lifted embedding in the AST and the
  direct embedding.
- No remaining references to JDBC in the AST and the query compiler
  (still some work to do for separating the embeddings into different
  profiles).
Further marginalization of Columns.

They used to be the Rube-Goldbergesque powerhouse of ScalaQuery's AST
machinery. All that is left now is an empty shell with some methods.
We also have enough type information in the early compiler phases to get
rid of the last remaining reference to the lifted embedding.
added type mapping to direct embedding (fixes tests)
Merge pull request #99 from slick/tmp/remove-old-type-encoding

Remove old type encoding