Events

Here's an implementation of events as described in the class slides, with a few minor changes made so the code actually builds.  Functionally works exactly as described in the slides.  For a better description of the content check the slides.  One note: the EventManager doesn't take ownership of events that are queued within it, they have to be stored elsewhere.

One other note.  CMakeLists.txt was modified to explicitly activate C++11 support, which this code depends on.  I built this code on Linux and OSX without issue.