Implement parallelized, pipelined prefetching of WAL

This is intended to achieve a drastic performance increase in WAL
application in many situations.

This is done by using some temporary directories and daemonized
sub-processes, implement a prefetcher that can hopefully pipeline
downloading WAL to be applied while Postgres is performing other WAL
recovery.
Maybe; part of the reason I wanted 0 to bypass the code path entirely was to minimize the impact of bugs, including weird stuff in the cache, which as-defined is not thought to get too big...