More IO work. Realized I forgot different threads test the write port and do a write.
Factoring IO into IO_Read and IO_Write modules.

These modules will have to interconnect for IO_Ready check,
and the overall IO_Ready signal now will be generated externally to
the IO modules.