Fixed #23924 -- Made EmailMessage raise TypeError for type checks

This change avoids silently producing broken `To`, `Cc` and `Bcc` headers when passed a string instead of a list of strings.
It would be great to keep the API simple and consistent with the Python standard library and the ecosystem. So, `not isinstance(to, (list, tuple))` would be enough in my opinion.