Bugfix for sharing a self-reference across multiple reduction definitions.

Solved by making a unique copy of each self-reference for each definition.
Replace extract_buffer_extent intrinsic with extract_buffer_max

This gives simpler bounds logic in the presence of extern stages.
Merge branch 'master' of github.com:halide/Halide
Fixed casts to and from handles.

The only legal one is a reinterpret to a uint64 (even on 32-bit platforms).

Fixes #302
Fix weirdness with inserting allocas into an empty basic block.
Slightly better error message for when you try to enable tracing on the GPU

In the future it is possible to make this work.
count_leading_zeros of 0 is now the bit-width

was previously undefined
(1 << 31 - 1) != ((1 << 31) - 1)

The IR is simpler if we just use an int constant though.
Forbid schedules that separate store_at and compute_at over a parallel loop

Fixes #296