py: Properly implement deletion of locals and derefs, and detect errors.

Needed to reinstate 2 delete opcodes, to specifically check that a local
is not deleted twice.
diff --git a/py/showbc.c b/py/showbc.c
index c566204..c1e420f 100644
--- a/py/showbc.c
+++ b/py/showbc.c
@@ -123,6 +123,11 @@
                 printf("LOAD_FAST_N " UINT_FMT, unum);
                 break;
 
+            case MP_BC_LOAD_FAST_CHECKED:
+                DECODE_UINT;
+                printf("LOAD_FAST_CHECKED " UINT_FMT, unum);
+                break;
+
             case MP_BC_LOAD_DEREF:
                 DECODE_UINT;
                 printf("LOAD_DEREF " UINT_FMT, unum);
@@ -193,6 +198,16 @@
                 printf("STORE_SUBSCR");
                 break;
 
+            case MP_BC_DELETE_FAST:
+                DECODE_UINT;
+                printf("DELETE_FAST " UINT_FMT, unum);
+                break;
+
+            case MP_BC_DELETE_DEREF:
+                DECODE_UINT;
+                printf("DELETE_DEREF " UINT_FMT, unum);
+                break;
+
             case MP_BC_DELETE_NAME:
                 DECODE_QSTR;
                 printf("DELETE_NAME %s", qstr_str(qstr));