MB-11462 Fix flow control ack handling for remove stream message

When a user requests remove_stream for a vbucket through upr client,
the actual remove of internal stream queue structure is done after receiving
reply from the server for close_stream upr command. But the flow control ack
is perfomed before sending the close_stream message by calculating the
current mutations bytes present in the queue. By the time actual
server response arrive, some more mutations for that stream would have
queued if upr server had sent them during the window of time before it
received the close_stream request. The mutation queue gets removed when
the server response is processed. This race condition causes few mutations
being silently removed from the queue and unacknowledged.

Eg.

Time T1:
User requests close_stream and current stream queue has 10 items
Before sending close_stream message to upr server, upr client
sends an flow control ack for 10 items.
upr client sent close_stream request.

Time T2:
upr client received 5 mutations for the stream for which we requested
close stream. The server would have sent these mutations before it received
close_stream request.

Time T3:
upr client received close_stream response from server
Removed the mutation queue for the stream with 5 mutations in it.
Nobody acked for 5 mutations which were present in the queue.

Change-Id: I4f0be7827c073dfd6c82b1205458a9a72608329d
Reviewed-on: http://review.couchbase.org/38650
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: buildbot <build@couchbase.com>