title: grequests returning 'None' type even after using exception_handler
body: <p>I am using grequests module for making async requests. While testing the following piece of code is showing ANOMALY based on TIMEOUT value:</p>
  
  <pre><code>&gt;&gt;&gt; grequests.map((grequests.get('http://httpbin.org/delay/1',timeout=0.6),),exception_handler=exception_handler)
  failed:  http://httpbin.org/delay/1 
  
  [&lt;Response [200]&gt;]
  &gt;&gt;&gt; grequests.map((grequests.get('http://httpbin.org/delay/1', timeout=0.001),),exception_handler=exception_handler)
  failed:  http://httpbin.org/delay/1 
  
  [None]
  </code></pre>
  
  <p>So How is the <strong>value of timeout</strong> affecting the execution of last part of exception_handling?</p>
  
  <pre><code>&gt;&gt;&gt; def exception_handler(r,e):
          print('failed: ',r.url,'\n')
          #changing the url just for doing sth
          r.url = 'http://httpbin.org/status/200'
          res = r.send().response 
          return res
  </code></pre>