Moved tests into tests directory

Test programs have been moved into their own directory.  The
makefile has been updated to compile all of them with with the
'tests' directive.  The plan is to add additional tests and make
the current ones more useful.
Refactored chip8.c to use the SystemState struct

Having all of the state info in a struct means that any new functions
can simply take a pointer to it instead of passing everything separately.
Condensed the redundant rules in the makefile
Replaced all occurrences of clearregs with memset
Added a variable for the compiler to the makefile
Merge branch 'refactor'