Created new event simulator

This one works with eventlet while still simulating time. It avoids
the issues inherent to only having one thread while still running
all code in the same order in test mode to make problems easier to
address.

Change-Id: If2ac46ee2ca1cca91a2b3144ed7948dacc054550