Defaddress part n

This branch is working and ready to go but not up to release quality. Docs need to be added and rewritten in several places. It may now be reasonable to put the Addressing Modes chapter of the book first.

There's substantially less magic in the addressing modes implementation. It decreases speed by about 25% due to additional dispatch but we still emulate around 36 mhz on my machine, or roughly 20x the speed of the original NES. The increase in implementation cleanliness and ease of adapting to weird memory maps more than makes up for it.