Allow the code to decide if it should use read or read2.

This change makes the whole thing a bit more dynamic & it allows one to receive handles from pipes that we got from a pipe server. Hope you pull it.