Fairness and queueing for circuits, streams, and channels
Today's arti uses a greedy strategy for reading cells and data. Between now and when we're done, we should do something closer to Tor's current approach, which uses a mix of round-robining, cell queueing, ewma circuit scheduling, KIST, etc, etc.
We should probably break out some of the above features for later deployment, since they're more important for relays and onion services than for clients.