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.