This patch does the noisy work of removing the test opcodes from the
exported interface to an interface that is only visible in libc. The
benefit of this is that we both test the exported RPC registration more
directly, and we do not need to give this interface to users.
I have decided to export any opcode that is not a "core" libc feature as
having its MSB set in the opcode. We can think of these as non-libc
"extensions".
Make an extension constant 1<<15 and then it becomes much clearer what's going on. Still, add documentation.