Attended Transfer: Add Grammar rules/tests for Replaces header

(contains code written by @wakamoleguy)
Attended Transfer: clean up Session#refer, ensure Session is confirmed
Attended Transfer: Session#followRefer copies Replaces header to INVITE

(contains code written by @wakamoleguy and @james-onsip)
Attended Transfer: add tests for 'replaces' config option and behavior

* SpecUA.js: add tests for 'replaces' option

  (adapted from 'rel100' tests)

* test/helpers/sdp.js: add INVITE with Replaces

* test/spec/Session.js: test matching Replaces header when (un)supported
Attended Transfer: Add UA configuration option 'replaces' for RFC 3891

https://tools.ietf.org/html/rfc3891

Like the 'rel100' option, 'replaces' can take three values:

  * SIP.C.supported.UNSUPPORTED (default)
  * SIP.C.supported.SUPPORTED
  * SIP.C.supported.REQUIRED

The 'replaces' option mainly controls the behavior of the UA upon receiving an
INVITE with the Replaces header:

  * UA sets session.replacee if 'replaces' is not UNSUPPORTED
  * 'invite' listener can use session.replacee to decide accept/reject
  * Session#accepted emits 'replaced' on the replacee and terminates it

https://github.com/onsip/SIP.js/pull/136#issuecomment-67383486

As with 'rel100', the Supported and Require headers sent by the UA will reflect
the configured value.

(contains code written by @wakamoleguy and @james-onsip)
Merge branch 'joseph-attd-xfer-rebased' into github-master

resolves #136