Fix portsManager/IceAgent deadlock
Fix portsManager/IceAgent deadlock

PortsManager + IceAgent are both protected by a mutex, and they both
have the ability to call and lock on other.

In a reproducible deadlock the IceAgent would send a message via the
ports manager, and at the same time the portsManager was attempting to
query the IceAgent for valid candidates.

This is fixed by moving the portsManager to a ReadLock. The places where
we lock don't have this interaction

Resolves #78, Resolves #108

pion/webrtc,pion/webrtc,pion/webrtc,pion/webrtc