Add support for specifying the local address of a call, with -b

This requires Go 1.1 because it needs the new net.DialOpt() function and
associated bits and pieces. It would be better if Go 1.1 also defined
a net.ResolveAddr() but it doesn't, so we have to make it up ourselves
(and in the process we add a minor convenience).