- Divided page into different subsections, and fleshed them out
- Added subsections on concurrency models
- Moved parts of "Performance" section from "The state of async Rust",
and elaborated on the parts that are ecosystem maturity related
I wanted to write an example to help guide people new to asynchronous programming, with fewer external dependencies (as some people requested in #66). The example starts with the [single threaded TCP server from the Rust book](https://doc.rust-lang.org/book/ch20-01-single-threaded.html) and uses async functionality to add concurrency.
The example goes through:
- some examples of blocking code and how to make them non blocking (should address #64 as well)
- spawning tasks vs using combinators to run them concurrently on a single thread
- testing code by creating mocks and implementing async read/write traits for the mocks