syscall: handle empty address in ReadFrom better

Handle return values from recvfrom correctly when the
kernel decides to not return an address.

Fixes issue 4636.
Fixes issue 4352.

R=rsc, mikioh.mikioh, dave
CC=golang-dev
https://codereview.appspot.com/7058062

Committer: Russ Cox <rsc@golang.org>