More opcode support.

add: more LD, LDI, LDD; DEC; CP; JR
Extremely basic/hacked disassembler/debugger, more opcode support.

add: SafeRead8() to Memory for the debugger, to handle reads to invalid addresses
fix: JR was fetching the offset conditionally, which is bad
add: a bit more flag manipulation scaffolding, to be refactored at some point
add: INC, ADD, HALT (preliminary halt support)
Break apart emulator.cpp into separate files.

change: break apart code into separate files.