Made some Func constructors explicit to prevent unintentional casting

This syntax, which we thought we had already disallowed:

Func f, g, h;
f = g + h;

Actually doesn't work now. Use:

f() = g + h

instead.
Added frees to the x86 test.
x86-32 and x86-32-sse41 working

A few tests that did floating point compares needed fixing
Updates to HelloAndroid to make it work again.
Update HalideRuntime, and include it with make distrib
Better target detection for native target.

Uses native target when HL_TARGET="native", HL_TARGET="", or HL_TARGET
not defined.
Updated the apps to work with 32-bit.

Also removed the CImg dependency from the blur test.
py bindings: remove extraneous function assignment operation
fix blur app
Fixed apps on OS X.

Must use CXX=g++ for the blur app at least (to get
openmp).
Merge branch 'master' of github.com:halide/Halide
Fix CUDA dev_malloc debug message to use correct format specifier for
elem_size (which is 32-bit, not size_t) and to omit the buf->dev value
which is always NULL when the message ir printed.
Add some comments to the generated-C++ output to make scanning of the code a bit easier: which for-loop is being closed, which alloc is going out of scope.
Merge pull request #105 from steven-johnson/master

Add some comments to the generated-C++ output
Merge branch 'master' into nick-sandbox