Couple problems with handling of top-level VALUES

* When the AST is loaded, a ResultSet needs to be added as a place where the column types that get computed are stored.
* The computation of those types would mishandle a single row with a numeric type by picking its widened type (BIGINT for INT) and not casting (see issue #710). There is no need for widening if all the types are narrow, *unless* there is a parameter, which should always allow the widest.