Add cuda compute capabilities 3.0, 3.5, 5.0

Untested.
Update in response to discussion. Still untested and unsuitable for merge.
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
GLSL: Emit better diagnostics when accessing ImageParam w/o explicit bounds.

GLSL code generation requires that color indices are compile-time constants,
which causes problems when using ImageParams without explicit constraints on min[2].

This patch uses min[2]==0 (the most common case) if no constraints are given
and emits a warning.
llvm default argument issue fix for os x

private scope copy constructor was preventing using
a scope as a default arg even when the arg type
was a const ref
Merge pull request #380 from halide/glsl_constraints

GLSL: Emit better diagnostics when accessing ImageParam w/o explicit bounds
Merge branch 'master' into cuda_30_35_50
Output cuda device attrs when in debug mode
Turn simplify_exprs back into simplify-except-for-lets

fixes cuda test failure
Emit the correct PTX ISA
Tell llvm we expect assertions to be true.
Merge branch 'master' of github.com:halide/Halide
Express likely branches more robustly.

The previous solution only worked for trunk llvm.
Fixed a few remaining instances passing temporary Scope objects to const references.