Use replace() instead of translate() in canonicalize_address.

Turns out the semantics of literal.translate() are different if literal is a
string or unicode object. Using replace() is also more readable.

Also
 * Add a regression test.
 * Check for argument validity in process_mail.get_cotnact_objects().