net: simplify non-cgo DNS exchange

Also does less buffer allocation in case of TCP fallback.

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/12925043