* move src/io.rs -> src/io/mod.rs * move src/read.rs -> src/io/read.rs * move src/read_exact.rs -> src/io/read_exact.rs * move src/read_until.rs -> src/io/read_until.rs * move src/read_to_end.rs -> src/io/read_to_end.rs * move src/flush.rs -> src/io/flush.rs * move src/copy.rs -> src/io/copy.rs * move src/shutdown.rs -> src/io/shutdown.rs * move src/write_all.rs -> src/io/write_all.rs * move Async{Read,Write} => src/io/async_{read,write}.rs * move Async{Read,Write} => src/async_{read,write}.rs
* move src/codec.rs -> src/codec/mod.rs * Move traits Encoder and Decoder from src/framed_{read|write}.rs into src/codec/{encoder,decoder}.rs * Move LinesCodec and BytesCodec from src/codecs.rs into src/codec/{lines,bytes}_codec.rs
The crates remain separate, but are now developed in the same git repository using cargo workspaces. This facilitates making coordinated changes.