Fix spelling error in error message.
Correct spelling of 'disconnect' method.
Support for unicode
Make test.py actually function
Clean up pyflakes warnings and issues.
Use real JSON serialization.

Among other things, this allows the use of nested custom properties.