py3k support
use __str__ instead of __unicode__
adding @spulec's changes to support py3k. closes #27