tests: Improve Condition tests

Previous condition tests were not good enough. This patch improve the
tests in various ways:

- Test more then one thread - currently all tests run with 10 waiter
  threads
- Test that notify/notifyAll doe not cause new waiters to return
- Test for spurious wakeups with and without timeout
- Verify that all threads were started before notifying the condition,
  instead of using magic timeout. This also make the test run faster.
- Improve logging to make it easier to understand failures
- Use daemon threads so stuck threads from failing tests do not block on
  exit.
- Remove unneeded docstrings that were not describing what the test
  does, use the test function name instead.
- Keep test names short and readable due to separation to several test
  classes.

Signed-off-by: Nir Soffer <nsoffer@redhat.com>