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.
```
>>> '\x00'.join('Root Entry\x00') + '\x00'
'R\x00o\x00o\x00t\x00 \x00E\x00n\x00t\x00r\x00y\x00\x00\x00'
>>> u'Root Entry\x00'.encode('utf-16-le')
'R\x00o\x00o\x00t\x00 \x00E\x00n\x00t\x00r\x00y\x00\x00\x00'
```

Everything involved here is hard-coded, so it doesn't make sense to add a test. We could make it explicitly `b'R\x00o\x00o\x00t\x00 \x00E\x00n\x00t\x00r\x00y\x00\x00\x00'` if you prefer, but I think this makes it clearer why that value is what it is.