InsnMatcher converts an InsnList to a string of private use codepoints,
where each codepoint maps to an opcode. This allows regular expressions
to be written (using the native Java regular expression engine) to
extract subsequences of instructions whose opcodes match a regex.
This commit introduces four methods: two for finding the next/previous
AbstractInsnNode that contains a real JVM opcode and two for finding the
next/previous AbstractInsnNode that is virtual (e.g. a label).