Check for EWOULDBLOCK as well as EAGAIN.

- POSIX allows recv to return either ```EAGAIN``` or ```EWOULDBLOCK```, and
  allows them to be the same value. On nearly every modern POSIX
  system, it returns ```EAGAIN```, and they are the same value. But
  Winsock returns ```EWOULDBLOCK```, and defines them as different
  values. So, we need to check both, not just ```EAGAIN```.

- See http://pubs.opengroup.org/onlinepubs/009695399/functions/recv.html for POSIX spec, http://msdn.microsoft.com/en-us/library/windows/desktop/ms740121(v=vs.85).aspx for MSDN.