py: Add MICROPY_PERSISTENT_CODE_LOAD/SAVE to load/save bytecode.

MICROPY_PERSISTENT_CODE must be enabled, and then enabling
MICROPY_PERSISTENT_CODE_LOAD/SAVE (either or both) will allow loading
and/or saving of code (at the moment just bytecode) from/to a .mpy file.
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 8019771..d3a57dd 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -192,9 +192,20 @@
 /*****************************************************************************/
 /* Micro Python emitters                                                     */
 
+// Whether to support loading of persistent code
+#ifndef MICROPY_PERSISTENT_CODE_LOAD
+#define MICROPY_PERSISTENT_CODE_LOAD (0)
+#endif
+
+// Whether to support saving of persistent code
+#ifndef MICROPY_PERSISTENT_CODE_SAVE
+#define MICROPY_PERSISTENT_CODE_SAVE (0)
+#endif
+
 // Whether generated code can persist independently of the VM/runtime instance
+// This is enabled automatically when needed by other features
 #ifndef MICROPY_PERSISTENT_CODE
-#define MICROPY_PERSISTENT_CODE (0)
+#define MICROPY_PERSISTENT_CODE (MICROPY_PERSISTENT_CODE_LOAD || MICROPY_PERSISTENT_CODE_SAVE)
 #endif
 
 // Whether to emit x64 native code