msgr: allow connect to multi-addr peer
add a multi-addr get_connection() method that lets you specify an ordered list of peer addrs. try them in succession.
if one fails at connect-type, fall back and try the next.
in particular, we want to try rsockets and then fall back to IP. we should probably not fall back on any random disconnect, but only when we get a suggestive error at the connect() stage.