added tests for exception preservation
change semaphores for events in test_exceptionpreservation() for readability