Fix for trunk llvm
Always build llvm with llvm

this requires you to have a basic version of llvm in the path to bootstrap

Done because llvm trunk no longer compiles with gcc 4.6
Bugfix in C reference code for a test
Revert to gcc for building llvm trunk

but set LD_LIBRARY_PATH to allow custom installs of gcc
and rejigger the Makefile to respect existing LD_LIBRARY_PATH settings
Multi-index Load nodes
Added multi-index Store nodes
Storage flattening now legalizes types

Forces elements to be a multiple of 8-bits, and
inserts casts as needed. Fixes an outstanding bug
with vectorized loads of compute_root bool buffers.
Bugfix for simplification of constant ramp == constant broadcast.
fix error message
Merge branch 'master' into opengl

Conflicts:
	src/StorageFlattening.cpp
Merge branch 'multi-index' into opengl
Add README.opengl
Sort OpenGL functionality by version
Add missing file
Remove explicit casts to/from float when loading from or storing to textures.

This is not entirely correct yet because it doesn't account for the
normalization that is also done by OpenGL