Fix handling of Paypal response under Python3

The symptom is that ```self.txn.value('whatever')``` returns None under Python3, so the django-oscar-paypal returns a 500 when we get a response from paypal.

The mocked `response.content` was returning a str object in python2.7 and a unicode string in python3.x, but it should return  a byte string (see: http://docs.python-requests.org/en/latest/api/#requests.Response.content)
Tests were passing even if byte stings were not handled correctly in python3.

This PR includes:
 * Use `response.text` instead of `response.content` (`response.text` returns an unicode object).
 * Use unicode strings when `requests` library is involved with `from __future__ import unicode_literals`
 * Updates to test enviroment (requirements and paypal api version)
Glad to know they made it easier to find the latest version.