Generate the connection identifiers safely.
Generate the connection identifiers safely.

A connection has two sequential identifiers, one for each end: the
sender and the receiver.

Since they are randomly generated, it may happen that one of the
identifiers is the largest representable value in their domain (`u16`),
and incrementing it to get the other identifier results in a panic.

This commit detects such a situation and generates a new pair of
identifiers without panicking.

dirvine/rust-utp