Improved type/class/instance code; mp_obj_type_t now has load_attr, store_attr.

Creating of classes (types) and instances is much more like CPython now.
You can use "type('name', (), {...})" to create classes.
diff --git a/py/map.h b/py/map.h
index 4905f5b..5ce4e83 100644
--- a/py/map.h
+++ b/py/map.h
@@ -18,7 +18,7 @@
     mp_obj_t *table;
 } mp_set_t;
 
-typedef enum {
+typedef enum _mp_map_lookup_kind_t {
     MP_MAP_LOOKUP,
     MP_MAP_LOOKUP_ADD_IF_NOT_FOUND,
     MP_MAP_LOOKUP_REMOVE_IF_FOUND,