A few fixes for the Makefile:
 * Lose USE_PGXS, per modern custom
 * bail out cleanly on versions of PostgreSQL < 9.3

Some logic adapted from pg_repack's Makefile.
Renamed to pg_hibernator and updated to work with Postgres 9.4.

Upon a couple of requests, to avoid name collision with the popular ORM
Hibernate, I decided to change the name of the extension to
Postgres Hibernator.

Updated the README, Makefile and code to use the new name everywhere. I
decided against changing the name of the C file so that the development
history does not get lost in file renames. To accomodate for a C
filename the is different from compiled object's name, I had to use the
MODULE_big and OBJS variables in Makefile.

Also updated the code to use Postgres 9.4's updated infrastructure for
buffer-manager partitioning, while retaining compatibility with Postgres
version 9.3.
Merge Makefile contribution from Josh (schmiddy).

I did minor edits to the Makefile, and some new additions to the README.

Merge commit 'c393236a275109b4d2a2c2902898cbf4f18f62a1'
Make GUC parameter names match the extension name; for consistency.
Add the LICENSE file that had been lurking around forever.
Add the file I used to run tests comparing ramp-up times with/without Postrges Hibernator.
Add the spreadsheet used to create the chart from test runs.
Change GUC sub-name from 'enable' to 'enabled'.

Also did many comment improvements.
I had changed the file name, but not the reference to it. Fixed.
Minor edits to LICENSE text.
Simplify logic for saving range-of-blocks.
Add a lot of stuff to README.
FAQ updates, for a better EDB attribution.
Minor edits.

These changes were living as uncommitted code for a couple of days, at
least.
Update README to include more impactful message.
Implement serial database restores for PG 9.3 and 9.4

Earlier all the BlockReader processes restored buffers in parallel, and
this may cause random-read contention on disks, and may lead to poor
restore performance.

With this commit the BlockReader processes will queue behind each other
and take turns to restore their databases.

For Postgres 9.3 this is implemented using LWLocks, and for version 9.4
the Dynamic Background Worker infrastructure is used.

A new boolean GUC parameter pg_hibernator.parallel is introduced to
reverse this behaviour. This parameter defaults to false.
Separate C files for pre- and post-9.4 versions of Postgres Hibernator.

This is in preparation for code submission to Postgres community, since
they would want a 9.4 compatible code, and would not be interested in
pre-9.4 version of Postgres Hibernator.
Bug-fix; use standard BGWorker for BufferSaver in Postgres 9.4
Update README to include description of parameters.

Also removed a caveat, since it doesn't apply anymore as both the pre-
and post-9.4 versions of the Postgres Hibernator restore one database at
a time, by default. And the decription of pg_hobernator.parallel
perameter covers the case when it may help/hurt to enable parallel
restores of databases.
Fix builds for Postgres versions 9.3.x

When splitting the code for different Postgres versions, the macro check
at the beginning of the file failed to account for minor versions.

Per report from Holger Amman on GitHub, issue number 3.