Reordering safely reorders loads/stores.
Added boxes_overlap test, modified bounds inference to set Box::used to true when accessed.
Provides only lower atomically if bounds inference indicates it is necessary.
Added Box::used_defined() helper function.
Merge branch 'flattened-provide' into reorder-stores
Forwarded trivial store values.