Simpler and more correct handling spurious wakeups

My previous patch for handling spurious wakeups solved the issue in the
Event class, which was only a partial fix. This patch fixes the issue in
the Condition class, making it a true replacement for standard library
Condition, eliminating the Event class, and simplifying the code.

Condition keeps now a generation number, increasing on each
notification.  Waiting for the condition returns only if the generation
number was increased, or the timeout has expired.

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
I wonder why you removed this overriding. I assume this logic change fixes the wait function in the original Event class in some way that vdsm counts on. Even if we fix the Condition class, we still use Event class in misc.py