Request: Added convenience functions for checking the cancellation status of the current request.
RequestLock: Now aware of cancelled requests.  Immediately raises a cancellation exception if the current request was cancelled while it waited for the lock.
request.py: Added a special request-aware condition variable class called SimpleRequestCondition (with a test).
I'm going to revert this in my next commit because it turns out that threading.Condition works fine with RequestLocks, but I want this code committed for posterity.
Revert "request.py: Added a special request-aware condition variable class called SimpleRequestCondition (with a test)."

This reverts commit e6fda6988c2c80e721b301506fbd479e3a90b312.
RoiRequestBatch: Simplified and improved the implementation using a condition variable to manage  request launching and completion.
This should also fix a critical issue that prevented spawned requests from being cancelled properly, and more naturally avoids excessive memory usage than the previous implementation.
tests: testRoiRequestBatch: Cleaned up logging.
Slot: If a value slot is about to assert, check to see if the current request has been cancelled.