Fix reference counting errors
Add debug statements to EventManager
Move WithUuid default constructor in .cc
Add test to events

Regression tests for reference counting errors fixed earlier
Generate new uuid in EventSource move constructor

Silences Valgrind warning about non-initialized values. Not sure what
the default vlaue of uuids is.
Generate new uuid immediately instead of creating a WithUuid object
Pseudo thread-safety for EventManager

Now threads can separately manage their events on *different objects*.
Memory leaks are certain and races are possible if one object uses
events in both threads.
Use shared pointers in EM, safer.