LivenessAnalysis: Cache BB liveness info to improve performance
Brings down runtime of gcj_2014_1c_b.py from 2secs to 0.7
Implementation of dict comprehension

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
Refactored dict and list comprehension remapping

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
Add 'make analyze' to call the clang static analyzer

Also fix some of the things that it reported.

Have to patch the tool to make it work, since it wants
to use the CLANG_CXX environment variable to pass information around,
but the Pyston Makefile uses that variable as well.
Improve the performance of sum()

Move some things to calling the *Internal methods,
which don't do patchpoint-checking, which wouldn't apply.

Reduce some unnecessary string-creation.
Cut down on unnecessary string copies
Merge pull request #62 from undingen/cache_liveness

LivenessAnalysis: Cache BB liveness info to improve performance
Implement list.index()
Merge pull request #63 from kkszysiu/list_index_impl

Implement list.index()
Added dict comprehension tests

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
Ensured same output for dictcomp.py test case

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
Merge pull request #65 from vinzenz/dict-comprehension

Implementation of dict comprehension
Add (modified) spectral_norm millibenchmark from the language shootout.
Implement zip2
Implement tuple hashing
Merge pull request #67 from undingen/tuple_hash

Implement tuple hashing
Merge pull request #66 from undingen/spectral_norm

Add (modified) spectral_norm millibenchmark from the language shootout.
Added implementation of 'dir'

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
Make the modules.py test succeed

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
Additional improvements to the dir implementation

- Added dir0 which would in theory return the local scope, but
  for just returns the content of the builtins module
- Added a unit test file for dir which won't print anything as the
  list sorting does not work as expected at the moment
  (missing full implementation) and the attributes are different
  as well (pyston has some CPython 2.7.5 does not have and vice versa)
- dir1 implements the lookup on a passed object
  - If the object has a __dir__ method, it will call it and return the result
    returned by this method
  - Otherwise all class and instance attributes and methods are returned
  - If the object has a __dict__ attribute, additional to the previous one
    it will return the keys from that one as well

Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>