py: Implement integer overflow checking for * and << ops.

If operation will overflow, a multi-precision integer is created.
diff --git a/py/objint_mpz.c b/py/objint_mpz.c
index 5cd4fb7..e8e8b85 100644
--- a/py/objint_mpz.c
+++ b/py/objint_mpz.c
@@ -161,7 +161,7 @@
 
 mp_obj_t mp_obj_new_int_from_ll(long long val) {
     mp_obj_int_t *o = mp_obj_int_new_mpz();
-    mpz_set_from_int(&o->mpz, val);
+    mpz_set_from_ll(&o->mpz, val);
     return o;
 }