EventEmitter Cleanups

Simple argument check additions and code cleanups for the event emitter.

Each commit was created to pass all tests.

`emit` also has a minimal performance gain (~5-10%) from the changes:
```
               emulsify       master
emit - 0 args: 38485 ops/ms   35049 ops/ms
emit - 1 args: 30151 ops/ms   27070 ops/ms
emit - 4 args: 12431 ops/ms   11685 ops/ms
emit - 2 calls: 6025 ops/ms    5900 ops/ms
```