Added some instruction tests
Packaged the virtual machine into a struct
Moved memory and graycode from the program to the vm