ConnectionManager: refactor to reduce contention

* merge info, waiting and pending maps into DeviceInfo,
  improving consistency of various operations
* DeviceInfo has its own mutex,
  and operations keep a weak pointer to it,
  reducing contention
* DeviceInfoSet encapsulate atomic management of DeviceInfos,
  enforcing proper locking order

Change-Id: I12c107782600355a34d460e7802d92ae9d590993
diff --git a/src/peer_connection.h b/src/peer_connection.h
index e92e249..c6f0197 100644
--- a/src/peer_connection.h
+++ b/src/peer_connection.h
@@ -47,6 +47,8 @@
 using OnReadyCb = std::function<void(bool ok)>;
 using onShutdownCb = std::function<void(void)>;
 
+static constexpr int ICE_COMP_ID_SIP_TRANSPORT {1};
+
 //==============================================================================
 
 class IceSocketEndpoint : public GenericSocket<uint8_t>