Updating tests to handle responses being of bytes type under python 3
Update high level interface for pycurl returning body and headers as bytes now
Update remaining tests for pycurl returning body as bytes
Python 3 compatibility: PyInt -> PyLong
Only check for PyInt on python 2
Python 3 compatibility: type and module changes
Python 3 compatibility: getattro/setattro
Temporarily forego file objects
Python 3 support: Unicode in strings
More unicode
More unicode
Note to redo
Replace bogus Unicode to C string conversion logic.

The old code leaked malloc'd memory and did not handle
embedded NULL bytes, and used C library's locale rather than
Python locale.

The new code still leaks memory but correctly handles
embedded NULL bytes, already encoded data as instances of
bytes type, and uses utf8 encoding if encoding needs to
be performed.

The new code only works on Python 3 >= 3.3, 3.0-3.2 need
to have their own version added.
Handle bytes and unicode in read callback
Test for read callback returning bytes
Make exception message more descriptive
Check that read callback returning bytes with embedded nulls works correctly
Dry
Add corresponding tests for strings
Check multibyte string encoded to bytes