Use Node's EventEmitter

This is very much a work in progress and isn't intended to be merged as-is. I'd just like to get the concept out here to see what we think of it. Here's a high-level summary:

`SIP.EventEmitter` now has the same API as [Node's EventEmitter](http://nodejs.org/api/events.html). `initEvents` and `initMoreEvents` are also defined, but they simply add a listener that uses the emitter's `logger` (no longer provided by `EventEmitter`, by the way) to log out a message when the event is emitted. The notion of an invalid event is no longer enforced.
Yeah, it's a little weird, since in practice every Session will be an InviteContext of some sort, but these fakey test-Session's aren't. I agree, though, we should still make sure Session.js defines a logger.