compose: Fix cursor position loss in quote-and-reply.
compose: Fix cursor position loss in quote-and-reply.

If you used "Quote and reply" to start composing a message, and
started typing before receiving the original message body from the
server, we ended up resetting your cursor to the start of the line
after the quote for two reasons:

* We were incorrectly fetching the pre_cursor for our replacement
  operation before doing the server fetch, which meant we ignored any
  editing done while waiting for the server to respond.

* Worse, we actually fetched the original cursor position before
  inserting the "[Quoting...]" placeholder text. So we were guaranteed
  to have at least some amount of error in the cursor position.

Fixes #20379.

andersk/zulip,eeshangarg/zulip,andersk/zulip,kou/zulip,andersk/zulip,eeshangarg/zulip,zulip/zulip,andersk/zulip,rht/zulip,zulip/zulip,andersk/zulip,kou/zulip,kou/zulip,eeshangarg/zulip,zulip/zulip,rht/zulip,rht/zulip,eeshangarg/zulip,rht/zulip,rht/zulip,andersk/zulip,eeshangarg/zulip,kou/zulip,kou/zulip,rht/zulip,zulip/zulip,zulip/zulip,eeshangarg/zulip,kou/zulip,rht/zulip,kou/zulip,zulip/zulip,andersk/zulip,zulip/zulip,eeshangarg/zulip