Fix one actual and one possible async race saving drafts.
Fix one actual and one possible async race saving drafts.

* src/client/composer/composer-widget.vala (ComposerWidget::save_draft):
  Make this method async, so we can yield when calling
  ::get_composed_email instead of starting it with begin(). This means
  that in ::save_and_exit_async, we can in turn yield to ::save_draft, to
  ensure the message is saved before closing the draft manager.
  (ComposerWidget::on_from_changed): Don't blindly reset the draft timer
  after starting to open the draft manager, it will fail if opening the
  draft manager takes longer than the timer. Instead, reset the timer in
  an async callback.

tshikaboom/geary,tshikaboom/geary,tshikaboom/geary