Use Six's method to determine when running under Python 3.

oauth.py guesses whether it is running under Python 3 by the existance of urllib.parse.urllib_parse and urllib.parse.urlencode. The code then uses urlencode's safe parameter if it believes it's running under Python 3. Unfortunately the guess fails when using Future, a library for writing clean Python 3 code that is backwards compatible with Python 2, since Future manipulates some builtins.

This change applies the version test that isn't confused by the use of Futures. It's the same test used by the Six library.
Merge pull request #270 from bsturmfels/future

This is already what is used in util.py and old stream.py. I don't see no reason not to do so, except maybe improving it by calling it from util as in the new stream.py