implemented store instructions and memory write
first checkin of refactoring, remove mod mem

I moved the single buffer representing actual RAM to a type living in
the cpu, and I moved the virtual address decoding logic into the read
primitives in the cpu.

TODO:
 - Get rid of cart and hand the cpu a PrgRom type
 - Tests don't compile or run right now
second checkin of major refactor, remove cart.rs

Move the pieces that made up "Cart" into nes and cpu. The cpu now only
owns the PrgRom that it will actually read.

TODO: get tests running again
get cpu sanity test passing again

need to figure out macros again and get the rest of the tests compiling
and passing
get rid of the cart dir
filled out the rest of decode

Still need to fix tests
rearrange declaration in lib.rs so macros work
get cpu tests passing again!
random cleanup of cpu mem write