Added different producer/consumer strategies for scheduling and moved to cartesian product generation of test cases