Don't try sliding window on functions that have compute_at == store_at
Forbid copying of scope objects.

Accidental copies were slowing down performance_fft compilation by 2x
Eager simplification in merge_boxes
simplify_exprs instead of simplify before storage flattening

simplify without removing dead lets is really slow
reduction stages of a Func use the bounds of the last stage when possible

If a dimension is pure in every definition of a Func, then there's no need
to track the bounds of each dim separately. They'll all be the same. This
was slowing down performance_fft compilation quite a lot.
Trim trailing spaces.
Merge branch 'master' of github.com:halide/Halide