Fix compilation of the vm with MinGW

uintptr_t needs stdint.h, and % is only defined for integral types (unlike
fmodf).
Fix unary minus for lessons 02 and 03

Fix both compilation and interpretation of unary minus operator. The
compiler forgot to generate the bytecode for the operand, and the VM
erroneously handled the + operator like the - operator.

Note that this commit only fixes up lessons 02 and 03, as lesson 04
does not even run inside the Lua interpreter, so I won't try to fix it
anyway...
Add integration tests for lessons 01 to 03

Include a TEST_MODE in the VM which will take the bytecode as a hex string
from the command line instead of having it hardcoded in a header file. Add
integration test lua files that call out to the compiled TEST_MODE VM to
test the compiled bytecode (This was how I found the bugs in the unary
minus implementation).

Note that this commit only adds it for lessons 01 to 03, as lesson 04 does
not even run inside the Lua interpreter, so I won't try to fix it
anyway...
Add .gitignore
Merge pull request #1 from schierlm/small-fixes

Fix compilation of VM with MinGW, add integration tests, and fix unary minus in lesson 02/03
Remove error string in lesson 4 so it compiles. Can't remember what I was talking about.