Work around byte writing and async

Stream.WriteByte() has no async equivalent, replaced all calls to it
with buffer calls.