Merge Johannes' changes into mine

I tried my best to merge Johannes' changes into what I have been working on.  The directory structure comes from running `cargo new 6502emu --bin`.  There is one unit test that can be compiled with `rustc --test -A dead_code 6502emu/src/main.rs`.
This is where I will disagree.  If we needed to pack the flags into a byte, then I would go with `bitflags!`.  But having each flag as a separate, named member is safer.

The `BitFlag` enum provides benefits over a built-in type (`bool`, `u8`) because usage can be restricted (e.g., `to_bit()`).  It may be named confusingly, however.