EventEmitter: inherit from Node's EventEmitter

This reduces code duplication by using a well known/tested module:
  http://nodejs.org/api/events.html

This also preserves most of the public API:
  http://sipjs.com/api/0.6.0/eventEmitter/

See below for more details:

* #on, #once and #off do NOT take third arguments (bindTarget)

  listeners should be explicitly bound to their objects before passing to
  EventEmitter methods

* #setMaxListeners works like Node's

  - does NOT prevent extra listeners
  - passing 0 allows unlimited listeners

* #emit no longer returns `this`, works like Node's

* #checkListener has been removed

  The rest of SIP.js uses:

    emitter.listeners(eventName).length

  instead of:

    emitter.checkListener(eventName)

* remove all other methods and their tests

Supporting changes:

* 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 virtue of being an EventEmitter

* src/Session.js: fix the following methods to correctly return `this`:

  - failed
  - rejected
  - canceled
  - accepted
  - terminated
  - connecting