py: Use mp_arg_check_num in more places.

Updated functions now do proper checking that n_kw==0, and are simpler
because they don't have to explicitly raise an exception.  Down side is
that the error messages no longer include the function name, but that's
acceptable.

Saves order 300 text bytes on x64 and ARM.
diff --git a/py/objlist.c b/py/objlist.c
index 9e30ebb..0ef685d 100644
--- a/py/objlist.c
+++ b/py/objlist.c
@@ -69,7 +69,7 @@
 }
 
 STATIC mp_obj_t list_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) {
-    // TODO check n_kw == 0
+    mp_arg_check_num(n_args, n_kw, 0, 1, false);
 
     switch (n_args) {
         case 0:
@@ -77,15 +77,12 @@
             return mp_obj_new_list(0, NULL);
 
         case 1:
-        {
+        default: {
             // make list from iterable
             // TODO: optimize list/tuple
             mp_obj_t list = mp_obj_new_list(0, NULL);
             return list_extend_from_iter(list, args[0]);
         }
-
-        default:
-            nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "list takes at most 1 argument, %d given", n_args));
     }
 }