py: Rename collections module to _collections.

We're not going to implement all the plethora of types in there in C.
Funnily, CPython implements defaultdict in C, and namedtuple in Python.
diff --git a/py/builtintables.c b/py/builtintables.c
index e2007f3..4b865e1 100644
--- a/py/builtintables.c
+++ b/py/builtintables.c
@@ -126,7 +126,7 @@
 #if MICROPY_ENABLE_MOD_IO
     { MP_OBJ_NEW_QSTR(MP_QSTR_io), (mp_obj_t)&mp_module_io },
 #endif
-    { MP_OBJ_NEW_QSTR(MP_QSTR_collections), (mp_obj_t)&mp_module_collections },
+    { MP_OBJ_NEW_QSTR(MP_QSTR__collections), (mp_obj_t)&mp_module_collections },
 #if MICROPY_ENABLE_MOD_STRUCT
     { MP_OBJ_NEW_QSTR(MP_QSTR_struct), (mp_obj_t)&mp_module_struct },
 #endif
diff --git a/py/modcollections.c b/py/modcollections.c
index dbd1896..11845a0 100644
--- a/py/modcollections.c
+++ b/py/modcollections.c
@@ -5,7 +5,7 @@
 #include "builtin.h"
 
 STATIC const mp_map_elem_t mp_module_collections_globals_table[] = {
-    { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_collections) },
+    { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR__collections) },
     { MP_OBJ_NEW_QSTR(MP_QSTR_namedtuple), (mp_obj_t)&mp_namedtuple_obj },
 };
 
@@ -22,6 +22,6 @@
 
 const mp_obj_module_t mp_module_collections = {
     .base = { &mp_type_module },
-    .name = MP_QSTR_collections,
+    .name = MP_QSTR__collections,
     .globals = (mp_obj_dict_t*)&mp_module_collections_globals,
 };
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index 7bd8dc6..dbfb469 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -90,7 +90,7 @@
 #endif
 Q(chr)
 Q(classmethod)
-Q(collections)
+Q(_collections)
 Q(complex)
 Q(dict)
 Q(dir)