Fix BasicSocket receive logic to check readable.
Handle IOException("Bad file descriptor") in errno logic.
Fix a couple paths I missed moving tests.