Fix ordering for default arguments (MakeFunction).

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.