Add list_commands command
Improve command parsing and improve the run command
Add print_registers command
Change register_command so it makes its own internal register_command_t

This way, commands won't be reading garbage data when a struct exits scope
Actually register print_registers
Fix find_best_command tests
Change write pointer in disassembler again
Add hex and disassemble command, add void pointer state to commands
Move commands into own files, as far as that is possible
Merge pull request #8 from puckipedia/debugger

Even more debugger!