test/spec/Session.js: simplify async gUM test
Use node's EventEmitter. Don't use init(More)Events or checkEvent.

Note that browserify takes care of providing the events module to the browser:

  https://github.com/substack/node-browserify#compatibility

You can run the following to see the code browserify provides:

  ./node_modules/.bin/browserify -r events | less
git rm test/spec/SpecEventEmitter.js

EventEmitter is already tested here:

  https://github.com/Gozala/events/tree/master/tests
implement SIP.EventEmitter.prototype.off
test/spec/SpecSession.js: define .logger on the constructed Session

This prevents tests from failing
  due to an artificially constructed Session's logger being undefined
    since the Session no longer has a logger by way of being an EventEmitter
src/Session.js: the following methods correctly return `this`:

- failed
- rejected
- canceled
- accepted
- terminated
- connecting
src/Subscription.js: .failed() correctly returns `this`
git rm src/EventEmitter.js
Use EventEmitter.listenerCount instead of emitter.checkListener
Use EventEmitter.removeListener instead of EventEmitter.off
Restore commented-out code listing event types.

This code was deleted in 0f3daff, but might be nice to keep for reference.