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.
IMO it's unpythonic to type check any more strictly than necessary. I would definitely not require this argument to be a list or tuple, when any iterable should work.