ICE connection RTP timeout status fix
Merge pull request #240 from rusekr/icefailedbugfix

ICE connection RTP timeout status fix
fix createAnswer / createOffer when ICE state is 'completed'

RTCMediaHandler's createAnswer and createOffer methods never invoke the
success callback if the ICE state is 'completed'. This happens because the
onSetLocalDescriptionSuccess callbacks check whether the ICE state is
'connected' instead of 'connected' or 'completed'. As a consequence of this,
hold and unhold no longer works once ICE reaches the 'completed' state.

This change fixes the ICE state test to allow both 'connected' and 'completed'.
Merge pull request #242 from jlaine/hold-unhold

fix createAnswer / createOffer when ICE state is 'completed'
Disable a failing test until the fix is done.
Fix some minor issues in EventEmitter class.
- Add Expires header into REGISTER requests to deal with not very cool registrar servers.
- Set initial CSeq number to 1 in REGISTER requests.
Fire 'progress' (originator = local) when receiving an incoming call.
Emit 'registered' / 'unregistered' before updating the 'registered' attribute.
Don't emit 'registered' if already registered.
Add hack_via_ws option to force "WS" in Via header when the server has wss:// scheme.
Ensure 'disconnected' event is fired when calling UA.stop().
Revert last commit. Sorry.
Add NEW_DESIGN.md file.
Use debug instead of log.
Improve late CANCEL (and fix #245).
- Improve Gruntfile:  grunt devel|dist|grunt min
- Set version 0.4.0-alpha
Remove debugging console.warn().
Don't try to reconnect if the user called UA.stop() before the UA.connected event was fired (fix #244).
Fix detection of incoming merged requests (don't generate 482 for retransmissions).