Implement table functions.

The structure (number of columns) might depend on the input arguments that are provided as literals.

This moves [Public Morozov](http://en.wikipedia.org/wiki/Pavlik_Morozov) out of `RexImpTable`, so `ScalarFunctionImpl` and `TableFunctionImpl` can properly implement the required call via linq4j.

Not included in current pull request:
 - configurable null policy for user-defined functions (see ScalarFunctionImpl.createImplementor)