Improve annotate to prevent unicode exceptions in certain situations.
The fixed bugs are:
* when an annotation has the author part as unicode(), and line contents are 8-bit data, an UnicodeDecodeError is raised when formatting them together with '%s %s'
* when the author part of an annotation contains characters not representable in the encoding of the user that runs annotate, an UnicodeEncodeError is raised