objint_mpz: Quick&dirty implementation of bitwise operations.

Made solely to unbreak int-long.py test which in turn uncovered thinko
with implementation of inplace ops. On mpz level, bitwise ops implemented
only for same-sign numbers, and are not efficient (unconditional calling of
mpn_cmp() is apparently superfluous).
diff --git a/py/objint_mpz.c b/py/objint_mpz.c
index 05e300d..25d8af7 100644
--- a/py/objint_mpz.c
+++ b/py/objint_mpz.c
@@ -78,7 +78,7 @@
         return mp_obj_new_float(flhs / frhs);
 #endif
 
-    } else if (op <= RT_BINARY_OP_POWER) {
+    } else if (op <= RT_BINARY_OP_INPLACE_POWER) {
         mp_obj_int_t *res = mp_obj_int_new_mpz();
 
         switch (op) {
@@ -119,12 +119,18 @@
                 break;
             }
 
-            //case RT_BINARY_OP_AND:
-            //case RT_BINARY_OP_INPLACE_AND:
-            //case RT_BINARY_OP_OR:
-            //case RT_BINARY_OP_INPLACE_OR:
-            //case RT_BINARY_OP_XOR:
-            //case RT_BINARY_OP_INPLACE_XOR:
+            case RT_BINARY_OP_AND:
+            case RT_BINARY_OP_INPLACE_AND:
+                mpz_and_inpl(&res->mpz, zlhs, zrhs);
+                break;
+            case RT_BINARY_OP_OR:
+            case RT_BINARY_OP_INPLACE_OR:
+                mpz_or_inpl(&res->mpz, zlhs, zrhs);
+                break;
+            case RT_BINARY_OP_XOR:
+            case RT_BINARY_OP_INPLACE_XOR:
+                mpz_xor_inpl(&res->mpz, zlhs, zrhs);
+                break;
 
             case RT_BINARY_OP_LSHIFT:
             case RT_BINARY_OP_INPLACE_LSHIFT: