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).
I think cruft is unavoidable when we have to straddle old and new.

It bothers me to not consistently import `print_function` (depending on feature use), though I suppose foolish consistency something something hobgoblin.

Code is fine here as is. You made me see my foolish consistency.