net: never return -1 bytes read from netFD.Read
net: never return -1 bytes read from netFD.Read

If the a network read would block, and a packet arrived just before the timeout expired, then the number of bytes from the previous (blocking) read, -1, would be returned.

This change restores the previous logic, where n would be unconditionally set to 0 if err != nil, but was skipped due to a change in CL 6851096.

The test for this change is CL 6851061.

R=bradfitz, mikioh.mikioh, dvyukov, rsc
CC=golang-dev
http://codereview.appspot.com/6852085
abustany/go,abustany/go,abustany/go,abustany/go,abustany/go,abustany/go,abustany/go