More changes for triggers:
+ late binding constants never have a value until runtime, and we swap the values
  into the sql with a different resolver, so there is little sense in emitting values
  vs the placeholder tokens in the emitter.  remove it.
+ switch from strings for the the row values to objects.  pass down some type & attribute
  information so that values can be interpreted and modified correctly.  (Modification
  comes about for autoinc values).  arrange to push the values onto the execution state
  so that child qsos can see the right data.
+ arrange for dist key values to allow rebinding.  arrange to bind values from the exec state
  prior to calling the mapper when executing qsos.  arrange for dist keys to consist of
  both regular literals and late constants.
+ allow temp tables to be reused by keeping track of whether they have been created on
  a qso previously.  if previously created, instead of creating anew we issue a delete on
  the table to clear it out.  (truncate takes a metadata lock, which causes a deadlock).
+ switch the trigger time from a boolean to an enum for readability and safety.  arrange for
  trigger table keys to hash on trigger time as well.
+ add a trigger planning parser option so that we can handle autoinc values correctly.
+ change the bodies of before insert triggers to reference autoinc columns with old values,
  rather than the autoinc value.
+ when late binding constants are used in temp table src selects, cast the values to the
  associated column type.  this allows temp tables to have appropriate column decls and avoids
  truncation errors.
+ add a feature planner specifically for insert into values stmts