core: reorder unicode str() construction
core: reorder unicode str() construction

move __repr__ detection to lower priority as object contain this by
default and do not call to __str__ for some reason.

this cause objects that only override __str__ method to return incorrect
string.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1255638
Change-Id: I8df43b87801e1b8cfc1269bf89b83dcdf3f0f7ff
Signed-off-by: Alon Bar-Lev <2e3ceb4d37adc6ae3ccc00d3646e0e0a036ace03@redhat.com>

alonbl/otopi,alonbl/otopi,alonbl/otopi