Ticket 7664: twisted.spread.banana: incomplete test coverage
Ticket 7666: twisted.test.test_{failure,banana,persisted,reflect}: consistently name all test methods test_*
twisted.python.compat: New: networkChar()

This is needed to hide Python 3 differences in
  - twisted.spread.banana and its tests
  - twisted.spread.pb and its tests
twisted.spread.banana and tests: PY3: from __future__
twisted.spread.banana: change literals from "" to b"" where appropriate
twisted.test.test_banana: use itertools.chain

because in Python 3, range() + range() is invalid (range() is a generator)
twisted.python.compat: for PY3, define long=int and xrange=range

long=int is needed for banana
xrange=range is needed for pb
twisted.test.test_banana: PY3 has no sys.maxint
twisted.spread.banana: replace StringIO.StringIO by io.BytesIO

Because the StringIO module does not exist in Python 3
twisted.test.test_banana: PY3: Port tests for unsupported types
twisted.spread.banana and test: Complete port to Python 3: handling of data

for Python 3, use bytes instead of str
twisted.python.compat: New: get_imFunc(), get_imSelf(), get_imClass()

They are needed for porting twisted.spread to Python 3 because
Python 3 does not have im_func, im_self, im_class.

They will be called from
  twisted.persisted.styles
  twisted.persisted.test.test_styles
  twisted.spread.jelly
  twisted.test.test_jelly
  twisted.test.test_pb
Ticket 7625: twisted.spread.jelly: support the sets module only for Python 2
twisted.python.compat.networkString: improve Exception message
twisted.python.compat: nativeString() and networkString() now have a parameter for encoding, default 'ascii'.

Using the default value for the encoding parameter, they behave exactly like before.

This is needed because Python 3 may want to send and receive non-ascii for
  attributes
  exception text
  backtrace

Python 2 is able to handle attributes with non-ascii identifiers if they are created at runtime.
twisted.test.test_jelly: add tests for yet untested code

namely datetime.date, datetime.time and datetime.timedelta instances
Ticket 4935: spread.jelly can now transfer objects with new style classes
twisted.cred.checkers: implements->implementer
twisted.test.test_pb: implements->implementer
twisted.spread.flavors: fix import paths, making them work with Python 3 too