Fix a Makefile issue, and add a test exposing an OSR bug
List comprehension support

Should support:
- multiple comprehensions
- multiple if conditions
- nested control flow expressions
- OSR'ing from the list comprehension

Though it tends to hit the OSR bug in the previous commit.

Some extra changes that could have been split out:
- use pointers-to-const instead of references-to-const for attribute-name passing,
  to make it harder to bind to a temporary name that will go away.
- add a 'cls_only' flag to getattr / getattrType to not have to special-case clsattrs
  (or simply get it wrong, in the case of getattrType)
Forgot to add the tests for the previous listcomp commit
Minor
Try using precompiled headers to improve compilation times; seems to help
Add a smaller version of the polymorphism.py microbenchmark, which is currently crashing
Add 'expected: fail' annotations to tests that are currently failing; tests pass now!
Fix the propagation of is-defined-ness through an OSR, though that exposes a number of other issues
Switch the binutils instructions from trunk to 2.24

I guess I had gotten those instructions from somewhere,
that said to just clone from trunk.
I ran into an issue installing gold through the instructions
and thought it might have been that, but I think it was the
bison issue I mention now in the instructions.
Probably better to leave it at a real release instead of tracking
trunk and having every run of the Pyston install giving a different
output.
Fix OSR bug: OSR entry block has to figure out which is_defined names it will receive
Fix another is_defined-related bug

It all feel pretty hacked together though... definitely not
confident that I've gotten all of them.
Found some bugs in the name analyzer around listcomps; got the unittests back up and running so I can write some more
Create a very simple analysis unittest
Not in the best way, but fix an issue with augassign type inference
change up this test to be somewhat less random
Wow, I guess augassign is quite a bit more complicated than I thought
- Removed old, deprecated TODO on libunwind section.
- Added zsh dependency
- Fixed subtle typo in LLVM + clang section
- Replaced hardcoded source filename in the error messages by __FILE__.
- Fixed subtle bug in getReverseOpName(): the reverse of AST_TYPE::NotEq and the reverse of AST_TYPE::Eq were wrong (ironically, they were reversed!)
Fixing the subtle "bug" apparently makes pyston fail some tests, so I'm backing out on this. It doesn't make much sense that the reverse of NotEq is NotEq, and the reverse of Eq is Eq... this needs to be rechecked by someone that knows the code better than me.
Update the valgrind install instructions