message: Change handle_write_event() to write out old data before getting new data
diff: @@ -94,10 +94,18 @@ public:
  template <class Parent>
  bool handle_write_event(Parent& parent) {
  + // try to write leftover data!
  + write_some(parent);
  + // get new data from parent
  for (auto msg = parent.next_message(); msg != nullptr; msg = parent.next_message()) {
  parent.application().prepare(std::move(msg), *this);
  }
  + // write prepared data
  + return write_some(parent);
  + }
  + template <class Parent>
  + bool write_some(Parent& parent) {
  // write prepared data
  if (write_buf_.empty())
  return false;
  