Add TFL.portable_repr

Portable replacement for `repr` giving identical results in Python
versions 2 and 3