Add Param::is_explicit_name()

This is mainly useful for certain use cases on the Generator branch,
where it is sometimes desirable to ensure that a Param is given an
explicit name (vs auto generated).
Remove -static-libstdc++ -static-libgcc
Merge pull request #513 from halide/is_autogen

Add Param::is_explicit_name()
Fix for Bug #516. Make the GlobalState instance and its constructor not WEAK
Added a test for various uses of Select for the GLSL target.
Fix bug in bounds querying buffers used in extern stages.

Bounds querying on an input buffer wasn't respecting extern stages that
use the buffer. Each user of the buffer was just clobbering the fields
with its own requirements.

This also required:
Adding dimensionality to Parameter objects. This cleans up some other code.
Adding an intrinsic to copy a buffer_t struct
Merge branch 'master' of github.com:halide/Halide

Conflicts:
	src/Param.cpp
	src/Param.h
	src/Parameter.cpp
	src/Parameter.h
Add a test for bounds querying on buffers used in extern stages
Merge branch 'master' into glsl-select-tests
GLSL: Fix handling of select

the previous implementation erroneously assumed that the condition of a
select has the same vector width as the arguments, which is obviously
wrong for scalar conditions that don't involve the color dimension.
Add test for GLSL codegen of scalar select conditions
Use extract_lane() instead of custom visitor
Add codegen tests for texture loads
Use explicit init() call instead of static initializer

in the hope that this fixes bug #516
Add disambiguation constructor for Param("foo").

"foo" can be cast to bool or string
Removed unnecessary include
Merge pull request #518 from halide/glsl-select-tests

Merging
Merge branch 'master' into glsl-varyingattrib

Took fixes from master for all conflicts

Conflicts:
	src/CodeGen_OpenGL_Dev.cpp
	src/runtime/opengl.cpp