Header parsing shouldn't throw exceptions.  Thanks to Balazs Sandor for PR #102
Refactored PR #101.  Thanks to Emilio, Ptah, and the LiveNinja team.
Added additional ICE events

Added additional ICE events of disconnected and closed
Fixed spacing to match repo
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

* #emit still logs, but uses `this.logger` instead of a separate logger

* #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
Remove old commented-out event lists
EventEmitter#off: `return this` with Node's EventEmitter's chaining
EventEmitter: use Node's EventEmitter's #emit, don't log