Phase 2 for log reader TMUDF

blueprint cmp-tmudf-compile-time-interface

Log reader TMUDF is mostly working now.
Still need to set cqd NUM_PARALLEL_ESPS '<num of nodes>' on clusters.
Still needs more work and more testing.
Still seeing some issues with non-ASCII characters.

// SQL Syntax to invoke this function:
//
//  select * from udf(event_log_reader( [options] ));
//
// The optional [options] argument is a character constant. The
// following options are supported:
//  f: add file name output columns (see below)
//  t: turn on tracing
//  d: loop in the runtime code, to be able to attach a debugger
//     (debug build only)
//  p: force parallel execution on workstation environment with
//     virtual nodes (debug build only)

More detailed explanation of changes:

- PredefUdrReadfile.cpp: Work on event log reader TMUDF

- sqludr.*: New method to add formal parameters, allows TMUDF to
            accept optional parameters.

- OptPhysRelExpr.cpp:

  Made some changes for TMUDFs with arity 0 to avoid asserts
  and to be able to call okToAttemptESPParallelism in method
  RelExpr::synthPhysicalProperty(). This is needed for leaf
  operators (arity 0) that want to initiate parallel execution
  and TMUDFs seem to be first in that situation.
  Changed TableMappingUDF::synthPhysicalProperty to generate
  a partitioning function with multiple partitions (and no
  partitioning key, so far) if required.

- ExUdr.cpp,
  GenUdr.cpp,
  sqlparser.y,
  DefaultConstants.h,
  nadefaults.cpp,
  BindItemExpr.cpp,
  BindRelExpr.cpp,
  ValueDesc.ppp:

  Addressed review comments from last phase, got rid of ALLOW_UDF CQD

- Rel*.h
  Rel*.cpp
  OptPhysRelExpr.cpp (has other changes as well)

  Simple but messy change to add one more parameter to
  RelExpr::synthPhysicalProperty

Change-Id: I5549e47c0f019beefd4ec1695ae7abf8c3bd43e3
Merge "Phase 2 for log reader TMUDF"