Only force atomic provide lowering when both the provide is to the output stage, and it reads from an input stage.
Merge pull request #457 from halide/flattened-provide

Flattened provide