py3k: Go through all uses of itertools and make them work on py3k
py3k: These need to return a value since in Py3k they're no longer void

Python 2.x shouldn't care about it though the signature is void there.

As exhibited in error:

dulwich/_diff_tree.c:449:2: error: non-void function 'init_diff_tree'
should return a value [-Wreturn-type]
setup: Make setup.py also work on py3k on OS X
Merge branch 'py3k' of git://github.com/Ormod/dulwich
Use 2to3 in setup.py.
Alter itertools import statement so that 2to3 fixes it.
Use byte literal in test_pack.py so that module can be imported in py3.
web: don't echo back invalid service names

This prevents potential XSS attacks, which could have injected
arbitrary content under a domain by echoing back the unsupported
service name.
Merge branch 'service-name-xss' of git://github.com/durin42/dulwich
Fix octal number literals.

Signed-off-by: Jelmer Vernooĳ <jelmer@samba.org>
Fix another potential XSS issue, and add test for the previous one.
Check for bytes rather than str.
Use bytes literals instead of string literals.
Use six.moves.
Apply libmodernize.fixes.fix_dict.

(Exclude dulwich.objects)
Use six.byte2int, .indexbytes, and .iterbytes.
Fix PackBasedObjectStore.packs.
String stuff (It's late.)
stuff