Improved the bytecode optimizer.
* Can now test for basic blocks.
* Optimize inverted comparisions.
* Optimize unary_not followed by a conditional jump.
* Added a new opcode, NOP, to keep code size constant.
* Applied NOP to previous transformations where appropriate.

Note, the NOP would not be necessary if other functions were
added to re-target jump addresses and update the co_lnotab mapping.
That would yield slightly faster and cleaner bytecode at the
expense of optimizer simplicity and of keeping it decoupled
from the line-numbering structure.
diff --git a/Include/opcode.h b/Include/opcode.h
index 2f3dd04..9f7d263 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -14,6 +14,8 @@
 #define DUP_TOP		4
 #define ROT_FOUR	5
 
+#define NOP		9
+
 #define UNARY_POSITIVE	10
 #define UNARY_NEGATIVE	11
 #define UNARY_NOT	12