fixed asynchronous test stability in Session.js
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
test/spec/Session.js: simplify async gUM test
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