Python 3 support

Following discussion on PR #32, this adds Python 3 support without any external dependencies. Python 2.6 and above and Python 3.3 and above should work; older versions will not.

The tests are passing on Python 2 and 3; I haven't tried the examples.
It appears the\x00 suffix and 'utf-16-le' encoding are a pattern, could that be abstracted into a function with a docstring explaining what it's doing? Again, keen to see a unit test ensuring no regression for this particular change.