Add C functions to centralize entab processing
Fix pointer processing in new entab.c function
Further optimize GIN multi-key searches.

When skipping over some items in a posting tree, re-find the new location
by descending the tree from root, rather than walking the right links.
This can save a lot of I/O.

Heavily modified from Alexander Korotkov's fast scan patch.
Fix thinko in huge_tlb_pages patch.

We calculated the rounded-up size for the allocation, but then failed to
use the rounded-up value in the mmap() call. Oops.

Also, initialize allocsize, to silence warnings seen with some compilers,
as pointed out by Jeff Janes.
Add json_array_elements_text function.

This was a notable omission from the json functions added in 9.3 and
there have been numerous complaints about its absence.

Laurence Rowe.
Include planning time in EXPLAIN ANALYZE output.

This doesn't work for prepared queries, but it's not too easy to get
the information in that case and there's some debate as to exactly
what the right thing to measure is, so just do this for now.

Andreas Karlsson, with slight doc changes by me.
Merge branch 'master' into jsonb

Conflicts:
	doc/src/sgml/func.sgml
	src/backend/utils/adt/jsonfuncs.c
Forgot to bump catalog version for json_array_elements_text.
Merge branch 'master' into jsonb
fix duplicate oid from merge
fix error made in merging json_array_elements_text