Upgrade requests, flip to a ranged requirement to help plugins.

Changelog here: https://pypi.python.org/pypi/requests
I grepped for DecodeError which we do not trap and the rest of the API Changes are additive for our use cases.

Testing Done:
The requests library is used by src/python/pants/cache/restful_artifact_cache.py and src/python/pants/net/http/fetcher.py, this validates the fetcher.py use:
==
$ rm -rf ~/.pants.d/tools
$ PANTS_DEV=1 ./pants goal resolve 3rdparty/:guava
...
21:28:52 00:00   [resolve]
21:28:52 00:00     [ivy] INFO]
Downloading http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar
 INFO] Starting new HTTP connection (1): repo1.maven.org
100% .................................................. 1193 KB 10.480s
 INFO] sha1: c5ebf1c253ad4959a29f4acfe696ee48cdd9f473

21:29:02 00:10       [ivy-bootstrap]
21:29:03 00:11       [ivy-resolve]
21:29:03 00:11         [ivy]
               SUCCESS

Bugs closed: 404

Reviewed at https://rbcommons.com/s/twitter/r/771/