BUG: fix unicode -> str cast in tslib
This should use format since calling str on a unicode string is a _bad_ idea 
because it may or may not repr correctly.

closes #3875.

another error is created from fixing this issue.

the other error created is #3899 
 @jreback this is ready 2 go can i merge?
 how was this breaking?
 when the `TypeError` was raised the hebrew unicode would throw a `UnicodeEncodeError` because `str` was being called on it
 this was also hiding the infinite recursion bug
 ok then 
