git-remote-testpy: call print as a function

This is harmless in Python 2, which sees the parentheses as redundant
grouping, but is required for Python 3.  Since this is the only change
required to make this script just run under Python 3 without needing
2to3 it seems worthwhile.

The case of an empty print must be handled specially because in that
case Python 2 will interpret '()' as an empty tuple and print it as
'()'; inserting an empty string fixes this.

Signed-off-by: John Keeping <john@keeping.me.uk>
Makefile: Run 2to3 on Python scripts

If PYTHON_PATH points at a Python 3 interpreter, run 2to3 on Python
scripts as they are being built.

The user is free to specify a different value for PYTHON_2TO3 if the
default is incorrect, but we always overwrite this when building under
Python 2.

Signed-off-by: John Keeping <john@keeping.me.uk>