Allow encoding anything with __json__()
Correct __str__ implementation in terms of __unicode__
Correct conflicting property/method names.