New EventManager Implementation

This is another implementation for Events. This time without any extra 'polemic' stuff, and with javadoc and unit tests.

Overview :
 - EventExecutor which allows for a cleaner design, not tigthly coupled to the Annotation API.
 - Support for subclass Event (i.e. Calling EventB which extends EventA will call every EventA handlers)
 - About 10%~20% faster, because it uses a cache array of the event handlers to call, instead of resolving the order for each callEvent.

Side notes:
 - I removed the Cancellable#setCancelled(boolean) method, I don't see any reason to enforce how an Event can be cancelled. [Using this as a reference](https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java), you can think of it as being cancelled as soon as the Result is not ALLOWED, yet a setCancelled() method does not really make sense.
 - I removed the calls for EntityUpdateEvent subclasses, in any case, I think they're a major problem with the current implementation which should be adressed.