Added a lot of code for translating vm instructions to x86_64
instructions

I learned a bunch about the format of x86_64 instructions and wrote
a lot of that in comments. I think A lot of the stuff I wrote will be
useful if I ever need to deal with binary x86_64 instructions, beyond
just for cs520