This commit is the result of the merge with PostgreSQL master branch before REL_9_3_STABLE was cut.

This is the result of very painful work by the following members:
Abbas But
Ashutosh Bapat
Koichi Suzuki
Masataka Saito

This patch enables all the major PostgreSQL new features as follows:

1) Materialized view, by Ashutosh Bapat
2) Event trigger, by Koichi Suzuki
3) Automatic updatable views, by Abbas But
4) LATERAL, by Ashutosh Bapat

Due to many internal API changes of PosgreSQL planner, corresponding
Postgres-XC planner needed many changes too.

This effort inlcudes the following by Abbas But:

1) Fix false report of partition column updation.
2) Fix for alias problem in returning list of INSERT statements
3) Fix a problem in RETURNING support when all the items of the list and ont
   shipable
4) Change the way UPDATEs are handeled, by updating all the columns of
   the result relation instead of updating only the columns that were
   in the target list
5) Fix for all problems emerging because the query deparsing system now
   generates unique rtable names by appending digits

Initdb message improvement was done by Masataka Saito.

Please note that two regression tests fail:

1) join: One outer join with LATERAL fails because corresponding usual
   plan does not support this.   It is known that the fix is in later
   master and REL9_3_STABLE of PostgreSQL so following merge with
   PostgreSQL REL_9_3_stable and master will solve the failure.

2) triggers: PostgreSQL 9.3 resolved a bug to check row update during
   firing of BEFORE ROW triggers.  XC needs some more effort to fix this.