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.
(plus the `not 'foo'` part, I agree with that)