Cleaned up the EventExecutor

The EventExecutor now takes in a shared_ptr instead of a raw pointer for adding events to the queue.
See EventExecutor.h for the rational behind it.

Incremented the minor version number since this change WILL NOT COMPILE ANYMORE for anyone using EventExecutor.  Only the minor number was incremented since there are no other major API changes.