Projects a subset of the fields of the table, and also asks for "extra"
fields that were not included in the table's official type.
The default implementation assumes that tables cannot do either of
these operations, therefore it adds a
Project that projects
NULL values for the extra fields, using the
RelBuilder#project(Iterable) method.
Sub-classes, representing table types that have these capabilities,
should override.