Created opcodes.go

I moved the definition of the opcodes and the Clock() method of vm.VM
into a separate file, since they're going to grow to a pretty
signficant size soon.  Also made one opcode change.
Added Some Opcodes and Tests

I added new opcodes to swap values into the b, p, and i registers and
load values into the a register from memory.  I also added
opcodes_test.go, which tests all of the opcodes for correctness.