net: give better error messages

Add address and/or port to errors where applicable for better reporting.

See #7005

Use util.format instead of string concatenation

Also move some logic into util._errnoException. Passing an object as
the fourth parameter to util._errnoException will now extend the
returned error.