exec_list: add a list_foreach_typed_reverse() macro
glsl/linker: pass through the is_intrinsic flag

This flag was set to true for the atomic counter intrinsics, but it
never got plumbed through the linker, so by the time it got to the
backends it would always be set to the false. The current i965 backend
code doesn't use is_intrinsic, so this should not change any existing
code, but it's useful for codepaths that want to distinguish between
intrinsics and non-intrinsics without using strcmp.
nir: add initial README
nir: add a simple C wrapper around glsl_types.h
nir: initial import
nir: add a printer
nir: add a validation pass
nir: add a glsl-to-nir pass
nir: add a pass to lower variables for scalar backends
nir: add a pass to remove unused variables
nir: add a pass to lower sampler instructions
nir: add a pass to lower system value reads
nir: add a pass to lower atomics
nir: add an optimization to turn global registers into local registers
nir: calculate dominance information
nir: add a pass to convert to SSA
nir: add an SSA-based copy propagation pass
nir: add an SSA-based dead code elimination pass
XXX add a test to brw_shader.cpp

This will let us piglit while not making it crash.