Also reorganize socket options stuff but there are no API behavioral changes. R=rsc, fullung CC=golang-dev https://golang.org/cl/5494067