This is a no-payload enum which will have the same variants as InstructionData.
This makes it possible to talk about the format of an instruction without
actually creating an InstructionData instance.
Generate nice doc comments for the Opcode enum variants that 'cargo doc'
will pick up.
Include a `Display` trait implementation that prints the lower
snake-case version of the opcode name.