Added ability to search for speculative work whenever the work queue is idle (before getting a new txn from the PartitionLockQueue). SpecExecScheduler.next() can now support taking in null txns. Added the ability to interupt the SpecExecScheduler whenever something gets added to the PartitionMessageQueue #115