load package/__init__.py if it exists, and set its __path__
fix formatting/function naming, and set submodules as attrs on parent modules.

also, add a test that includes importing both a module with __init__.py and a submodule.
Add the ability to use the LLVM "basic" register allocator

Controlled by the '-b' command-line flag.  That used to
be for "benchmark" mode but it looks like benchmark mode
has been broken for a while, so remove that.
Add missing floorDivInt test
Add a universal reference constructor to BoxedSet
my old one was missing a std::move and did not accept lvalues.
Merge pull request #221 from toshok/package-imports

load package/__init__.py if it exists, and set its __path__
Merge pull request #234 from dagar/cmake

Cmake fixes for #231 and #232
Merge pull request #235 from undingen/floorDivIntTest

Add missing FloorDivInt test
Add makefile option to defer to cmake
Allow specifying a custom path to ninja
Raise this as an ImportError instead of SystemError

With the recent package import support, we broke importing optparse.
This is because we now can import "encodings" (a package), which imports
codecs, which raises a SystemError when trying to import _codecs which
we don't support yet.

This was getting ignored before since optparse wrapped this process
(which happens via "import gettext") in a try-except and catches the
ImportError.
Update the measure_loc.py tool to use a sampling profiler
Set lineno on these constructed AST nodes
Nuke the old llvm interpreter
Turn on LLVM's "basic regalloc" by default

Can still switch back to the default regalloc using the -b flag,
but it looks like the basic register allocator cuts the LLVM JIT
time significantly, and improves every one of our benchmarks.
Refactor interpreter slightly in preparation for resume-at-any-point

Previously things were hardcoded to only allow a single entry point to
the interpreter (since that is how the unwinder determines if the frame
is an interpreter frame).

Instead of having astInterpretFunction be the interpreter frame, make
execute() the frame.  Have to make it a static class function so we can
take its address.
Had to do this for 14.04

I wonder if other people have run into this.
Rename ExcInfo -> UnwindInfo

and exc_info -> unw_info

(This makes more sense with the next change, but I wanted
to separate this large renaming from the functional change.)
Change the way we pass line numbers to the runtime

Before, for compiled functions we used dwarf line number information.

Now it's switched to using the new frame introspection support, and
we pass through the AST_stmt* as one of the arguments.  This gets us
the line number and also the definition of execution point.
And we come full circle -- this seems like the right solution but we moved away from it?