More robust single-peer connection

Get a pool of potential peers from DNS node, and iterate through them until we find a live one.