release v0.5.0

* Prefer non-transient connections when opening new streams.
* Call `Close()` on transports that implement a `Close()` function on
  swarm close.
* Refactor dialing logic:
  * Avoid canceling concurrent dials to the same peer when canceling
    the first dial to that peer.
  * Correctly join multiple dials with different constraints.
This tag has no release notes.