[SJS-112][WIP]: Subscribing of events instead of doing an interval
[SJS-112]: Subscribe to events for setUserData instead of using setIntervals
[SJS-112]: Subscribe to events for _initSelectedRoom instead of setIntervals
[SJS-112]: Subscribe to events for _onUserMediaSuccess instead of setIntervals.
[SJS-112]: Renamed _checkCondition to _condition.
[SJS-144]: Create a function to do a _wait until condition is met
[SJS-112]: Fix for cannot read property "info" of undefined error in setUserData.
[SJS-143]: Do not remove datachannel upon close
[SJS-143]: _restartPeerConnection to close datachannel instead of just removing the reference
[SJS-141]: Fix for setRemoteDescription failed when peerconnection is restarted