Switch from direct continuation with then() to dataflow()
Fix dataflow bug in spmv products

Any updates to x in [y = A * x] should come after y is computed.
Use mutex instead of atomic to accumulate inner product results
Stricter dependency managing