Add cancel based methods to event base interface
Start planning out a Component system.

Huge thanks to all the great discussion on
http://forums.spongepowered.org/t/component-system-and-minecraft/76/39

Signed-off-by: Chris Sanders <zidane@outlook.com>
Re-think component system, now based on Artemis.

Its a three tier system

- A ComponentManager 'manages' component relationships with their holders
  as well as stores systems.
- A ComponentSystem processes holders with certain components. A great use
  for this is MovementSystems where you only want to move entities who
  have a Position and a Velocity component.
- A Component and a ComponentHolder. A Component is a data holder who has
  zero logic and serves to simply get/set data. A ComponentHolder serves
  as a marker interface so we know who the holder is in the Component.

Signed-off-by: Chris Sanders <zidane@outlook.com>
Javadoc corrections

Signed-off-by: Chris Sanders <zidane@outlook.com>
Forgot to let you specify the instance

Signed-off-by: Chris Sanders <zidane@outlook.com>
Merge commit 'fetch_head' into documentation