Translation updates
Fix bugs in SSI tuple locking.

1. In heap_hot_search_buffer(), the PredicateLockTuple() call is passed
wrong offset number. heapTuple->t_self is set to the tid of the first
tuple in the chain that's visited, not the one actually being read.

2. CheckForSerializableConflictIn() uses the tuple's t_ctid field
instead of t_self to check for exiting predicate locks on the tuple. If
the tuple was updated, but the updater rolled back, t_ctid points to the
aborted dead tuple.

Reported by Hannu Krosing. Backpatch to 9.1.
TYPEALIGN doesn't work on int64 on 32-bit platforms.

The TYPEALIGN macro, and the related ones like MAXALIGN, don't work with
values larger than intptr_t, because TYPEALIGN casts the argument to
intptr_t to do the arithmetic. That's not a problem when dealing with
pointers or lengths or offsets related to pointers, but the XLogInsert
scaling patch added a call to MAXALIGN with an XLogRecPtr argument.

To fix, add wider variants of the macros, called TYPEALIGN64 and MAXALIGN64,
which are just like the existing variants but work with uint64 instead of
intptr_t.

Report and patch by David Rowley, analysis by Andres Freund.
docs:  update release notes for 8.4.18, 9.0.14, 9.1.10, 9.2.5, 9.3.1
Update instructions on creating minor release notes.
Additional instructions on minor release note creation.
Auto-tune effective_cache size to be 4x shared buffers
unaccent:  mark unaccent() functions as immutable

Suggestion from Pavel Stehule
docs:  clarify references to md5 hash and md5 crypt in pgcrypto docs

Suggestion from Richard Neill
Update postgres.conf.sample for effective_cache_size's new default
Allow drop-index-concurrently-1 test to run at any isolation level.

It previously reported failure at REPEATABLE READ and SERIALIZABLE
transaction isolation levels for make installcheck.
doc:  Fix typo in effective_cache_size patch
Fix C comment in check_effective_cache_size()
Move new effective_cache_size function

Previously set_default_effective_cache_size() could not handle fork,
non-fork, and bootstrap cases.
Again move function where we set effective_cache_size's default
Adjust the effective_cache_size default for standalone backends
Centralize effective_cache_size default setting
doc:  fix typo in release notes

Backpatch through 8.4

Per suggestion by Amit Langote
Add record_image_ops opclass for matview concurrent refresh.

REFRESH MATERIALIZED VIEW CONCURRENTLY was broken for any matview
containing a column of a type without a default btree operator
class.  It also did not produce results consistent with a non-
concurrent REFRESH or a normal view if any column was of a type
which allowed user-visible differences between values which
compared as equal according to the type's default btree opclass.
Concurrent matview refresh was modified to use the new operators
to solve these problems.

Documentation was added for record comparison, both for the
default btree operator class for record, and the newly added
operators.  Regression tests now check for proper behavior both
for a matview with a box column and a matview containing a citext
column.

Reviewed by Steve Singer, who suggested some of the doc language.
Allow dynamic allocation of shared memory segments.

Patch by myself and Amit Kapila.  Design help from Noah Misch.  Review
by Andres Freund.