Use code object as key for compiler cache instead of function pointer, which may change or be destroyed. In the future, should get rid of the compiler cache and instead use our own subtype of PyCode_Object to with additional pointers. All benchmarks run when optimizations are disabled.
This reduces annoying 'redefined macro' warnings. Remove dependency on boost. (Closes #11).
…Log_Fatal :/. Fix LocalTypeSpecialization after change in function call ordering.