py: This time, real proper overflow checking of small int power.

Previous overflow test was inadequate.
diff --git a/py/compile.c b/py/compile.c
index 3273abe..44b37b9 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -17,7 +17,7 @@
 #include "obj.h"
 #include "compile.h"
 #include "runtime.h"
-#include "intdivmod.h"
+#include "smallint.h"
 
 // TODO need to mangle __attr names
 
@@ -143,10 +143,10 @@
                     } else if (MP_PARSE_NODE_IS_TOKEN_KIND(pns->nodes[1], MP_TOKEN_OP_SLASH)) {
                         ; // pass
                     } else if (MP_PARSE_NODE_IS_TOKEN_KIND(pns->nodes[1], MP_TOKEN_OP_PERCENT)) {
-                        pn = mp_parse_node_new_leaf(MP_PARSE_NODE_SMALL_INT, python_modulo(arg0, arg1));
+                        pn = mp_parse_node_new_leaf(MP_PARSE_NODE_SMALL_INT, mp_small_int_modulo(arg0, arg1));
                     } else if (MP_PARSE_NODE_IS_TOKEN_KIND(pns->nodes[1], MP_TOKEN_OP_DBL_SLASH)) {
                         if (arg1 != 0) {
-                            pn = mp_parse_node_new_leaf(MP_PARSE_NODE_SMALL_INT, python_floor_divide(arg0, arg1));
+                            pn = mp_parse_node_new_leaf(MP_PARSE_NODE_SMALL_INT, mp_small_int_floor_divide(arg0, arg1));
                         }
                     } else {
                         // shouldn't happen