py/objstr: Catch case of negative "maxsplit" arg to str.rsplit().

Negative values mean no limit on the number of splits so should delegate to
the .split() method.
diff --git a/py/objstr.c b/py/objstr.c
index a1e2235..1d2a280 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -602,6 +602,11 @@
     GET_STR_DATA_LEN(args[0], s, len);
 
     mp_int_t splits = mp_obj_get_int(args[2]);
+    if (splits < 0) {
+        // Negative limit means no limit, so delegate to split().
+        return mp_obj_str_split(n_args, args);
+    }
+
     mp_int_t org_splits = splits;
     // Preallocate list to the max expected # of elements, as we
     // will fill it from the end.