Parallelized reading and writing

Resolves getlantern/lantern#1593
BTW, I tested to make sure that sticky routing still works, and it does.  Really nice job on that @aranhoide - it's a beautiful solution.