net: use original raddr if getpeername fails

This CL updates CL 7511043;
- adds new test cases for both UDPConn and UnixConn,
- makes sure unnamed UnixAddr handling,
- replaces t.Errorf with t.Fatalf in sockname related test cases.

Fixes issue 3721 (again).
Fixes issue 3838 (again).

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7627048