Added test for ContractionEvalImpl::wait.
Refined the way DistEval::set_tile function handles Future’s.
Simplified ContractionEvalImpl::iterate_row function so it does less work.
bcast_col_range_task and bcast_row_range_task in ContractionEvalImpl now correctly calculate the next local column and row to process.
Sparse iteration function in ContractionEvalImpl now only spawns broadcast tasks if rows/columns are skipped.
Bbcast_col_range_task and bcast_row_range_task in ContractionEvalImpl now check for non-zero tiles before trying to broadcast.