Added an app that uses the C backend to make sure it doesn't break.

It only covers a very simple use of the C backend, but it can be
expanded as we find bugs.
More portable cpuid code.
Clarification in INSTALL
Manually include sse2 for the blur reference code.
Slight cleanup of simd_op_check
Made the code still compile if asserts are off.

Turning off asserts requires messing with Util.h, but I thought it should at
least be possible, e.g. to test the performance implications of the asserts.
Changed some testing outputs from stderr to stdout
Changed Expr::Compare to workaround gcc-4.4 bug
Added optional static bounds for Params.

They're exprs, so you can declare things like one param being less
than another param. If you want to introspect them as constants,
use as_const_int or as_const_float from IROperator.h. For constants that
aren't int32 or float32 you'll need to dig through a cast as well, e.g.:

Expr e = param.get_max_value();
const Internal::Cast *c = e.as<Internal::Cast>()
if (c) return as_const_int(c->value);
else return NULL;
Added comments to buffer_t
Workaround for a bug in llvm 3.3
Better handling of inf and nan in C backend
Merge branch 'master' into nick-sandbox