sort events by a counter before firing them. adresses issue #94

A simple counter is added to the EventEmitter object, wich will be raised with each addition of a listener. The current count will be attached to the event handling function. Before firing an array of callback functions, the array is sorted by the value of the counter, thus ensuring that the callback functions are fired in the same order they were attached, whether they contain wildcards or not. not sure how the sorting impacts performance though, I've never had the chance to look into testing.