Fix embedding of constant ints

Allow 64-bit constants.  not sure how we didn't run into this before
Separate the CompilerType objects from the class definitions

Most code wants to have access to the basic types (INT, STR, etc)
but doesn't need to know anything about what methods they support.

Move the commonly-accessed parts of compvars.h into the always-included
core/types.h, and remove almost all of the includes of compvars.h
Add some extra error checking during irgen
Add some more patchpoint-related llvm patches
Add the ability to represent bools as non-i1

Turned off for now; will need this for a later patch.
Change how we create and represent patchpoints
Change some of the low-level initialization of patchpoints

Will make it easier to initialize non-ic patchpoints that
are coming up.
Support frame introspection

The approach in this changeset is to attach frame args
to every call site via stackmap args.  We make sure that
every callsite is a patchpoint, and serialize the symbol
table into its arguments.

In this patch, that is just used for supporting the locals()
method.

It's currently disabled since it has a hugely negative impact
on performance (LLVM takes much longer to JIT with all the extra
function arguments).
update this unused code
Add some package-importing and relative-importing tests
Note
Whoops -- fix bug
Make sure that we never reuse AST nodes

We currently specify execution state by the AST node that
represents it, which means that we have to not reuse AST nodes.
Previous to this patch, we were doing that, so this patch
fixes those up.

This patch isn't the cleanest since I think this whole approach
will go away when we transition to a proper bytecode system.
Compute intra-BB liveness information

When emitting frame information, we pass all currently-live
variable names.  We clear dead register names at the end of
every basic block, but for long basic blocks we can end up
accumulating many temporary names (one per sub expression).
This ends up hugely increasing the LLVM compilation times since
we will pass hundreds of arguments to many different callsites.

Now, we remove dead variable names as soon as they die.  (Note:
user-visible names are always live since they can always be seen
by the locals() function.)  This means that we pass many fewer values
as frame arguments.

A better solution will be to have a real bytecode language which
encodes such liveness information, instead of mostly-having it and
then discarding it.
Fix some liveness-analysis bugs
Enable frame introspection!

The code was already in but it was turned off due to the
compile time regressions.  The addition af kill flags seems
to have fixed it.

We now have the locals() method working and can start to implement
other similar features.
Make it more clear that pyston does not work on OSX (yet)
member descriptor ics
two passes
replaced unordered_map