Fix result for testCase.
Abstract the representation of a row in Java (as a primitive value, an object array or, shortly, as a synthetic object) as a new class PhysType.

Also: Rename AggregateImplementor2 to AggImplementor2. And various tweaks involving IntList.
Add PhysType, which allows Java relational expressions to have multiple ways of representing a row in Java. Currently a row can be an empty list (if there are 0 fields) a scalar (if there is 1 field), a synthetic class or an array of Objects (if there are more than 1 field). Of the last 2, the synthetic class is preferred, because it uses primitive values and therefore avoids boxing if the value is not nullable.

Also add ModifiableTable, which permits implementation of INSERT.

Remove mergeTraitsAndConvert method. (It was more verbose than the code inside it.)