Fixed an issue with arguments being modified
Fix for error events

Error events might have invoked matchers where it was not intended.
E.g. 'test.*' would be invoked twice if 'test.foo' throws.
Fix once, onceBefore and onceAfter with wildcards

- When using once with wildcards it did not unregister properly.
- It used to add an additional listener that unregisterd the actual
  listener on emit.

The second point could only be fixed by using eval to generate a proxy
function or else the function length could not be retained.
Up version