add get_segment_efforts, allow passing in of request_session for easy override, and a bug fix

auto-fix of trailing whitespaces i isolated into dedicated commits to make code review easier.

fix for parser is that the existing code did the equivalent of this (on py27)
```
>>> from dateutil.parser import parser as dateparser
>>> dateparser.parse("2013-09-04T20:00:50Z", ignoretz=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unbound method parse() must be called with parser instance as first a
rgument (got str instance instead)

```



the addition of request_session as arg on __init__ of Client, is so you can write code like this to override default requests.Session 

```
  # code
  import requests
  import cachecontrol
  from cachecontrol.caches import FileCache
  rsession = cachecontrol.CacheControl(requests.Session(),
                                    cache=FileCache('.web_cache', forever=True))

  client = Client(access_token=STORED_ACCESS_TOKEN, requests_session=rsession)
```