#14291: if a header has non-ascii unicode, default to CTE using utf-8

In Python2, if a unicode string was assigned as the value of a header,
email would automatically CTE encode it using the UTF8 charset.
This capability was lost in the Python3 translation, and this patch
restores it.

Patch by Ali Ikinci, assisted by R. David Murray.

I also added a fix for the mailbox test that was depending (with a comment
that it was a bad idea to so depend) on non-ASCII causing message_from_string
to raise an error.  It now uses support.patch to induce an error during
message serialization.
diff --git a/Misc/ACKS b/Misc/ACKS
index a7d89d3..2b3dad5 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -430,6 +430,7 @@
 Gerhard Häring
 Fredrik Håård
 Mihai Ibanescu
+Ali Ikinci
 Lars Immisch
 Bobby Impollonia
 Meador Inge
diff --git a/Misc/NEWS b/Misc/NEWS
index eea3a17..b4dcf82 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -22,6 +22,9 @@
 Library
 -------
 
+- Issue #14291: Email now defaults to utf-8 for non-ASCII unicode headers
+  instead of raising an error.  This fixes a regression relative to 2.7.
+
 - Issue #5219: Prevent event handler cascade in IDLE.
 
 - Issue #14184: Increase the default stack size for secondary threads on