dedupe "Syntax sugar for rendering media" to Utils.desugarSessionOptions

see d238523754ad4f6e2845ffd487c2961596a7c9ad
WebRTC.MediaHandler: emit 'iceCandidate' from pc.onicecandidate

see #23
git add npm-shrinkwrap.json
npm-shrinkwrap.json: set jasmine-core version to 2.0.4

This prevents Travis builds from breaking due to jasmine-core@2.1.2
Merge pull request #124 from joseph-onsip/shrinkwrap

Add npm-shrinkwrap.json with jasmine-core@2.0.4
SpecSanityCheck.js: use beforeAll to define spies in runnables

Resolves #124 without needing npm-shrinkwrap.json to force an old version of
jasmine-core to be installed. See also:

  https://github.com/jasmine/jasmine/commit/a2ac5ef3b6064fe7b613d9548990436cffdd9419
  https://www.pivotaltracker.com/n/projects/10606/stories/66789174

Revert "Merge pull request #124 from joseph-onsip/shrinkwrap"

This reverts commit 925a6090437be4b484f41941aeecd5636c2bc135, reversing
changes made to a7250d754f538e55c0407614acb300ac0cdc6003.
Broken code to start att'd xfer Grammar
Working Replaces tests
Pass along the Replaces header when referred
Added support for attended-xfer in UA for receiving an invite with replaces
Basically working att'd xfers
Session#refer: don't check scheme of attended transfer
followRefer: don't embed headers into Request-URI of INVITE
UA: define findDialog in terms of findDialogByIdTags

UA#receiveRequest INVITE w/ Replaces: use findDialogByIdTags
Session#refer dedupe blind vs. attended logic

Also, hang up after sending REFER with Replaces
Revert "UA: define findDialog in terms of findDialogByIdTags"

This reverts commit 926f5f385c74e15b4622bea12b8c6be191ec7c2b.
UA#receiveRequest INVITE w/Replaces: match dialog according to RFC 3891

TODO squash with above reversion and the commit it reverted

From Section 3 - User Agent Server Behavior:

The User Agent Server (UAS) matches the to-tag and from-tag parameters as if
they were tags present in an incoming request.  In other words, the to-tag
parameter is compared to the local tag, and the from-tag parameter is compared
to the remote tag.

http://tools.ietf.org/html/rfc3891#section-3
UAS INVITE w/Replaces: accept must succeed, to shut down replaced dialog

See RFC 3891 Section 3:

   If the UA cannot accept the new INVITE (for example: it cannot
   establish required QoS or keying, or it has incompatible media), the
   UA MUST return an appropriate error response and MUST leave the
   matched dialog unchanged.

http://tools.ietf.org/html/rfc3891#section-3
SIPMessage: add 'replaces' to Supported header
UA: add UPDATE to ALLOWED_METHODS