Provide pg_pread() and pg_pwrite() for random I/O.
 
 Forward to POSIX pread() and pwrite(), or emulate them if unavailable.
 The emulation is not perfect as the file position is changed, so
 we'll put pg_ prefixes on the names to minimize the risk of confusion
 in future patches that might inadvertently try to mix pread() and read()
 on the same file descriptor.
 
 Author: Thomas Munro
 Reviewed-by: Tom Lane, Jesper Pedersen
 Discussion: https://postgr.es/m/CAEepm=02rapCpPR3ZGF2vW=SBHSdFYO_bz_f-wwWJonmA3APgw@mail.gmail.com