Fix unicode decode error in weird cases

- Prevent assigning label to term.value before overwriting it if term is an ITitledTokenizedTerm
- Prevent unicode decode error when we have a ITitledTokenizedTerm term and term.value is nor string nor unicode and __str__ returns non ascii string (eg: Archetype ATFile)