patch-to-add-support-of-if-not-exists-to-others-create-statements (patch 1 of 1)

'git apply --summary --stat --apply --verbose' output was:

 doc/src/sgml/ref/create_aggregate.sgml         |   14 ++
 doc/src/sgml/ref/create_cast.sgml              |   16 ++
 doc/src/sgml/ref/create_collation.sgml         |   14 ++
 doc/src/sgml/ref/create_operator.sgml          |   12 +-
 doc/src/sgml/ref/create_tsconfig.sgml          |   12 +-
 doc/src/sgml/ref/create_tsdictionary.sgml      |   12 +-
 doc/src/sgml/ref/create_tsparser.sgml          |   12 +-
 doc/src/sgml/ref/create_tstemplate.sgml        |   12 +-
 doc/src/sgml/ref/create_type.sgml              |   20 ++-
 src/backend/catalog/heap.c                     |    6 +
 src/backend/catalog/pg_aggregate.c             |    9 +
 src/backend/catalog/pg_operator.c              |   13 ++
 src/backend/catalog/pg_proc.c                  |   24 ++-
 src/backend/catalog/pg_type.c                  |   15 ++
 src/backend/commands/aggregatecmds.c           |    7 +
 src/backend/commands/functioncmds.c            |   30 +++-
 src/backend/commands/operatorcmds.c            |    5 -
 src/backend/commands/proclang.c                |    9 +
 src/backend/commands/tsearchcmds.c             |  118 ++++++++++++++-
 src/backend/commands/typecmds.c                |   99 ++++++++++---
 src/backend/nodes/copyfuncs.c                  |    5 +
 src/backend/nodes/equalfuncs.c                 |    5 +
 src/backend/parser/gram.y                      |  190 ++++++++++++++++++++++--
 src/backend/tcop/utility.c                     |   23 ++-
 src/include/catalog/pg_aggregate.h             |    3
 src/include/catalog/pg_operator.h              |    3
 src/include/catalog/pg_proc_fn.h               |    3
 src/include/catalog/pg_type_fn.h               |    3
 src/include/commands/defrem.h                  |   12 +-
 src/include/commands/typecmds.h                |    4 -
 src/include/nodes/parsenodes.h                 |    5 +
 src/test/regress/expected/alter_generic.out    |   10 +
 src/test/regress/expected/create_aggregate.out |   13 ++
 src/test/regress/expected/create_cast.out      |   16 ++
 src/test/regress/expected/create_operator.out  |   14 ++
 src/test/regress/expected/create_type.out      |   24 +++
 src/test/regress/expected/enum.out             |    4 +
 src/test/regress/expected/rangetypes.out       |    4 +
 src/test/regress/expected/tsdicts.out          |   20 +++
 src/test/regress/sql/alter_generic.sql         |    6 +
 src/test/regress/sql/create_aggregate.sql      |   12 ++
 src/test/regress/sql/create_cast.sql           |    8 +
 src/test/regress/sql/create_operator.sql       |   18 ++
 src/test/regress/sql/create_type.sql           |   23 +++
 src/test/regress/sql/enum.sql                  |    4 +
 src/test/regress/sql/rangetypes.sql            |    2
 src/test/regress/sql/tsdicts.sql               |   16 ++
 47 files changed, 798 insertions(+), 111 deletions(-)

For original context, see http://www.postgresql.org/message-id/CAFcNs+qAqA3m+vMJvwtVFg9e=pCXseFcA2kZB32OJumxP4eL2w@mail.gmail.com
Adding travis.yml