Add contrib/pg_stat_statements for server-wide tracking of statement execution
statistics.

Takahiro Itagaki
Export IsUnderPostmaster on win32.

ITAGAKI Takahiro
Allow out-of-tree builds on mingw and cygwin

Author: Richard Evans <richard.evans@blueallegro.net>
Fix for cross-compilation between mingw32 and something else.  The choice
of pwd vs. pwd -W is correctly a function of the build system, not the
host system.
When cross-compiling, allow and require an external zic program to be used
when --with-system-tzdata is not used.

initial patch by Richard Evans
Fix define_custom_variable to preserve any sourcefile/sourceline information
present in the placeholder.  Noted while testing pg_stat_statements.
Add EmitWarningsOnPlaceholders calls to contrib modules that are likely to
get listed in custom_variable_classes.
Quiet repeated "loaded library" messages from child backends that are just
re-loading a library already loaded into the postmaster.

ITAGAKI Takahiro
Update Japanese FAQ.

Jun Kuwamura
Add a --role option to pg_dump, pg_dumpall, and pg_restore.  This allows
performing dumps and restores in accordance with a security policy that
forbids logging in directly as superuser, but instead specifies that you
should log into an admin account and then SET ROLE to the superuser.

In passing, clean up some ugly and mostly-broken code for quoting shell
arguments in pg_dumpall.

Benedek László, with some help from Tom Lane
Change the reloptions machinery to use a table-based parser, and provide
a more complete framework for writing custom option processing routines
by user-defined access methods.

Catalog version bumped due to the general API changes, which are going to
affect user-defined "amoptions" routines.
Fix an oversight in the function-default-arguments patch: after adding some
default expressions to a function call, eval_const_expressions must recurse on
those expressions.  Else they don't get simplified, and in particular we fail
to insert additional default arguments if any functions needing defaults are
in there.  Per report from Rushabh Lathia.
Add some comments about why function parameter default expressions are
restricted.
Fix new timezone cross-compile rule to avoid a bug in gmake 3.78.1;
document change.
Supress compiler warning.
Update SELECT version() to show whether it is a 32 or 64-bit backend binary.
Suppress compiler warning in a different way, per Alvaro.
Remove outdated Japanese README files per discussion.
Fix string reloption handling, per KaiGai Kohei.
Fix logic in lazy vacuum to decide if it's worth trying to truncate the heap.
If the table was smaller than REL_TRUNCATE_FRACTION (= 16) pages, we always
tried to acquire AccessExclusiveLock on it even if there was no empty pages
at the end.

Report by Simon Riggs. Back-patch all the way to 7.4.