Rework and add new rules for simplifying ramp/x and ramp%x

Fixes issue #458
Fix infinite loop found with fuzz_simplify

ramp(cast(intimm), ...) was treated as a simple_const
Add additional ctors to Param.h

Allow optional specification of initial-value (or initial-value, min,
max) via ctor arguments to scalar Param<>.
Add instructions for building Halide with cake
Merge pull request #496 from halide/ramp_div_mod_simplify_rules

Rework and add new rules for simplifying ramp/x and ramp%x
Merge pull request #499 from halide/param_ctor

Add additional ctors to Param.h
Update libpng version used by script.
Merge branch 'master' of github.com:halide/Halide
Fix makefile for predownloaded llvms.
Merge branch 'master' into generator
Use default for Param<>