Add support for RETURNING clause in DMLs

The patch does the following major changes

1. Modifies the DML planning code to send the shippable part
   of the returning list to the datanodes in the remote query.
2. Modifies the var references in returning list according to
   the target list that was sent to the datanodes since the
   tuples returned from the datanodes will contain vars in
   that order.
3. Modifies remote query execution to make sure that a single
   response is accepted in case of DMLs on replicated tables
   with returning lists.
4. Manages the fact that a DML can return tuples during remote
   query execution.
5. Manages null tuples received from datanodes while counting
   modified tuples.
6. Uses projection mechanism to show returned tuples
7. Adds test cases.

Special thanks to Ashutosh for reviewing the patch.
The patch allows xc_maintenance_mode to use DML in execute direct and
direct connection to datanodes.

Xc_maintenance_mode can be set to on only by superusers and it cannot
be set to on in postgresql.conf or postgres/pg_ctl command line
parameters.   It can be set only in a session.    This extension
maintains its safetiness and allows (only) DBA to cleanup XC cluster
state without reconfiguration.

	modified:   doc-xc/src/sgml/config.sgmlin
	modified:   src/backend/access/transam/xact.c
	modified:   src/backend/parser/analyze.c
This commit enable gtm_proxy to unregister itself when the registration
failed.   This patch is similar to pg_ctl stop -m immediate improvement
to eliminate DBA intervention when gtm_proxy was killed/crashed and
needs just a restart.

	modified:   src/gtm/proxy/proxy_main.c
Correct documentation of INSERT/UPDATE/DELETE after supporting RETURNING clause
mprove description that XC does not support any constraint which
needs rows at remote nodes to enforce.

	modified:   doc-xc/src/sgml/ddl.sgmlin
	modified:   doc-xc/src/sgml/filelist.sgmlin
	modified:   doc-xc/src/sgml/indices.sgmlin
	modified:   doc-xc/src/sgml/ref/alter_domain.sgmlin
	modified:   doc-xc/src/sgml/ref/create_domain.sgmlin
	modified:   doc-xc/src/sgml/ref/create_table.sgmlin
	new file:   doc-xc/src/sgml/xc-constraint.sgmlin
Improve description of primary and preferred node in CREATE NODE.

	modified:   doc-xc/src/sgml/ref/create_node.sgmlin
Fix for Bug 3601848. Node copy function of RemoteQuery copied remote_param_types
field even when it was NULL in the source node, leading to inconsistent BIND
message being sent to datanode. Corrected the same.
Nikhil Sontakke kindly provided this to fix gtm_ctl dependency
on PATH environment, the bug 3602944.

	modified:   src/bin/gtm_ctl/gtm_ctl.c
	modified:   src/gtm/main/main.c
	modified:   src/gtm/proxy/proxy_main.c
Merge pull request #4 from postgres-xc/master

merge