Restore follow_redirects after mediadownload is done.

Reviewed in https://codereview.appspot.com/10238046/

Fixes issue 280.
diff --git a/apiclient/http.py b/apiclient/http.py
index b9cbfd7..b73014a 100644
--- a/apiclient/http.py
+++ b/apiclient/http.py
@@ -505,6 +505,8 @@
     self._progress = 0
     self._total_size = None
     self._done = False
+    self._original_follow_redirects = request.http.follow_redirects
+    request.http.follow_redirects = False
 
   def next_chunk(self):
     """Get the next chunk of the download.
@@ -523,7 +525,6 @@
             self._progress, self._progress + self._chunksize)
         }
     http = self._request.http
-    http.follow_redirects = False
 
     resp, content = http.request(self._uri, headers=headers)
     if resp.status in [301, 302, 303, 307, 308] and 'location' in resp:
@@ -540,6 +541,7 @@
 
       if self._progress == self._total_size:
         self._done = True
+        self._request.http.follow_redirects = self._original_follow_redirects
       return MediaDownloadProgress(self._progress, self._total_size), self._done
     else:
       raise HttpError(resp, content, uri=self._uri)
diff --git a/tests/test_http.py b/tests/test_http.py
index 7fc9c51..1651140 100644
--- a/tests/test_http.py
+++ b/tests/test_http.py
@@ -292,6 +292,7 @@
       ({'status': '200',
         'content-range': '3-4/5'}, '45'),
     ])
+    self.assertEqual(True, self.request.http.follow_redirects)
 
     download = MediaIoBaseDownload(
         fd=self.fd, request=self.request, chunksize=3)
@@ -301,20 +302,25 @@
     self.assertEqual(0, download._progress)
     self.assertEqual(None, download._total_size)
     self.assertEqual(False, download._done)
+    self.assertEqual(True, download._original_follow_redirects)
     self.assertEqual(self.request.uri, download._uri)
 
     status, done = download.next_chunk()
 
     self.assertEqual(self.fd.getvalue(), '123')
     self.assertEqual(False, done)
+    self.assertEqual(False, self.request.http.follow_redirects)
     self.assertEqual(3, download._progress)
     self.assertEqual(5, download._total_size)
     self.assertEqual(3, status.resumable_progress)
+    self.assertEqual(True, download._original_follow_redirects)
 
     status, done = download.next_chunk()
 
+    self.assertEqual(True, download._original_follow_redirects)
     self.assertEqual(self.fd.getvalue(), '12345')
     self.assertEqual(True, done)
+    self.assertEqual(True, self.request.http.follow_redirects)
     self.assertEqual(5, download._progress)
     self.assertEqual(5, download._total_size)