Eliminated redundant texture loads by separating spatial texture coordinates and channel selection into two intrinsics
Preserve let variable types in VectorizeLoops so that it may stop mutating part way through the IR tree.
Updated syntax and spacing
Add -Wall -Werror to the CMake build so that it matches the Makefile build
Fix -Werror build error
Updated widening logic for scalar case. Simplified Let variable naming.
Added code to detect cases where the vector expression argument of shuffle_vector must be scalarized
Merge branch 'master' into glsl-swizzle

Conflicts:
	src/IR.cpp
Switched to using equal(..) from expr_match(..)
Removed unnecessary constexpr.
Update asserts and comments.
Merge branch 'glsl-swizzle' of https://github.com/halide/Halide into glsl-swizzle
Merge pull request #590 from halide/glsl-swizzle

removing redundant texture loads