Add unittest for TerminateTrasnfer between ranges.

The new unittest exercises the case when a TerminateTransfer is
received right after a range is finished in a multi-range request.
While this test was handled properly, a minor check was added to
prevent TerminateTransfer() being called twice in the underlying
fetcher.

Bug: 34178297
Test: New unittest passes.

Change-Id: Iedaf0c684e9e83a20f5961f1d538bb380d6ae76b
diff --git a/common/multi_range_http_fetcher.cc b/common/multi_range_http_fetcher.cc
index 0a97b6e..e696c36 100644
--- a/common/multi_range_http_fetcher.cc
+++ b/common/multi_range_http_fetcher.cc
@@ -59,6 +59,7 @@
   terminating_ = true;
 
   if (!pending_transfer_ended_) {
+    pending_transfer_ended_ = true;
     base_fetcher_->TerminateTransfer();
   }
 }