Reset unused fields in GIN data leaf page footer.

The maxoff field is not used in the new, compressed page format. Let's
reset it when converting an old-format page to the new format. The code
won't care either way, but this makes it possible to use the field for
something else in the future.
Avoid minor leak in parallel pg_dump

During parallel pg_dump, a worker process closing the connection caused
a minor memory leak (particularly minor as we are likely about to exit
anyway).  Instead, free the memory in this case prior to returning NULL
to indicate connection closed.

Spotting by the Coverity scanner.

Back patch to 9.3 where this was introduced.
psql: Mention SSL protocol version in \conninfo.

Marko Kreen, reviewed by Wim Lewis.
libpq: Support TLS versions beyond TLSv1.

Per report from Jeffrey Walton, libpq has been accepting only TLSv1
exactly.  Along the lines of the backend code, libpq will now support
new versions as OpenSSL adds them.

Marko Kreen, reviewed by Wim Lewis.
Add recovery_target='immediate' option.

This allows ending recovery as a consistent state has been reached. Without
this, there was no easy way to e.g restore an online backup, without
replaying any extra WAL after the backup ended.

MauMau and me.
docs: mention CREATE TABLE LIKE linkage using INCLUDING DEFAULTS

Mention that CREATE TABLE LIKE INCLUDING DEFAULTS creates a link between
the original and new tables if a default function modifies the database,
like nextval().
Copy-editing docs for recovery_target='immediate', and "ie."

Phrase the sentence better. Also, spell "i.e." rather than "ie."

Thom Brown
Adjust C comment in slot_attisnull() regarding nulls.
Use E, not e, for escaping in example docs

From the Department of Nitpicking, be consistent with other escaping
and use 'E' instead of 'e' to escape the string in the example docs
for GET DISAGNOSTICS stack = PG_CONTEXT.

Noticed by Department Chief Magnus Hagander.
Enable building with Visual Studion 2013.

Backpatch to 9.3.

Brar Piening.
Include tablespace options in verbose output of \db
Move the options column of \db+ before the description

The convention is to have the description field at the end.

Noted by Tom Lane
Check dup2() results in syslogger

Consistently check the dup2() call results throughout syslogger.c.
It's pretty unlikely that they'll error out, but if they do,
ereport(FATAL) instead of blissfully continuing on.

Spotted by the Coverity scanner.
Provide for client-only installs with MSVC.

MauMau.
Fix minor leak in pg_dump

Move allocation to after we check the remote server version, to avoid
a possible, very minor, memory leak.  This makes us more consistent
throughout as most places in pg_dump are done in the same way (due, in
part, to previous fixes like this).

Spotted by the Coverity scanner.
Fix typos in comments for ALTER SYSTEM.

Michael Paquier
Change the suffix of auto conf temporary file from "temp" to "tmp".

Michael Paquier
Code review for auto-tuned effective_cache_size.

Fix integer overflow issue noted by Magnus Hagander, as well as a bunch
of other infelicities in commit ee1e5662d8d8330726eaef7d3110cb7add24d058
and its unreasonably large number of followups.
Fix typo in README

Amit Langote
Relax the requirement that all lwlocks be stored in a single array.

This makes it possible to store lwlocks as part of some other data
structure in the main shared memory segment, or in a dynamic shared
memory segment.  There is still a main LWLock array and this patch does
not move anything out of it, but it provides necessary infrastructure
for doing that in the future.

This change is likely to increase the size of LWLockPadded on some
platforms, especially 32-bit platforms where it was previously only
16 bytes.

Patch by me.  Review by Andres Freund and KaiGai Kohei.