Transport::DetectNatType is now async
Transport::ConnectToBootstrapEndpoint is now async

Moves the blocking mechanism one function upwards to
Transport::TryBootstrapping.
Transport::TryBootstrapping is now async

Moves the blocking mechanism one function upwards to
Transport::Bootstrap.
Transport::Bootstrap is now async

Moves the blocking mechanism one function upwards to
ManagedConnections::StartNewTransport. The bootstrapping
procedure inside Transport is now completely async.
ManagedConnections class just lost his only friend

Which was class Transport
Adds ManagedConnections::Endpoint typedef
Adds "on connection added" functor to ManagedConnections

Also adds test case for it