Prepare for py3k

Make a start toward #91 (we are still blocked on the `protobuf` dependency).

Selectively apply patches suggested by 'python-modernize --six-unicode'.

Tweak the pylint messages suppressed in test/demo code to work around issues involved in "straddling" Python2/Python3:
- The `six` module does some import hackery which confuses pylint when used in a virtualenv:  suppress `import-error` check (only in test/demo code).  Note that the check is redundant (we have 100% coverage) as well as failing bogusly.
- Rather than introduce `from __future__ import print_statement` in demos, just use `print()`, which is legal in Python2, and forward-compatible to Python3, but causes a `superfluous-parens' warning under pylint:  suppress that warning (only test/demo code).
Yes, those are the new ones:  
- `import-error`: pylint gets confused by the trickery done in `six.moves`, used only in demo code.
- `superfluous-parens`:  there to support `print()` without needing `from future import __print_statement__`.