PNaCl toolchain support.

I'd propose merging this branch into master.  Alternately, portions of this branch could be cherry-picked onto llvmsvn.

There's a couple things going on.
1) Changes for LLVM 3.3 support are cherry-picked form llvmsvn.
2) The metadata change from llvmsvn that broke 3.2 support was generalized when it was cherry picked.
3) The actual change for using the PNaCl toolchain.
4) Cross-platform compatibility improvements for Windows and Python 2.6.