Ensure libpq reports a suitable error message on unexpected socket EOF.
 
 The EOF-detection logic in pqReadData was a bit confused about who should
 set up the error message in case the kernel gives us read-ready-but-no-data
 rather than ECONNRESET or some other explicit error condition.  Since the
 whole point of this situation is that the lower-level functions don't know
 there's anything wrong, pqReadData itself must set up the message.  But
 keep the assumption that if an errno was reported, a message was set up at
 lower levels.
 
 Per bug #11712 from Marko Tiikkaja.  It's been like this for a very long
 time, so back-patch to all supported branches.