Add Python 3 support

Fixes #25.

I haven't tested this fully, so you should probably do a full run through to make sure everything works. I mainly ran `2to3`, did a conditional import on `winreg`, and made the `subprocess` functions return strings instead of bytes with `universal_newlines=True`. 
@feross no I also need these changes.