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 don't think this is necessary:
```python
$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = {1: 2, 3: 4}
>>> dict(a.items())
{1: 2, 3: 4}
```