EventEmitter: .emit() binds listeners before calling them, works if listeners remove themselves

fix #28
Pass tests that were failed by the previous commit.
Merge pull request #29 from joseph-onsip/issue28

Fix #28