RFC 2822 describes the characters allowed in a header field name.  Conform to
this, and add test cases.
diff --git a/Lib/email/FeedParser.py b/Lib/email/FeedParser.py
index 690b7c2..f514728 100644
--- a/Lib/email/FeedParser.py
+++ b/Lib/email/FeedParser.py
@@ -27,7 +27,9 @@
 NLCRE_bol = re.compile('(\r\n|\r|\n)')
 NLCRE_eol = re.compile('(\r\n|\r|\n)$')
 NLCRE_crack = re.compile('(\r\n|\r|\n)')
-headerRE = re.compile(r'^(From |[-\w]{2,}:|[\t ])')
+# RFC 2822 $3.6.8 Optional fields.  ftext is %d33-57 / %d59-126, Any character
+# except controls, SP, and ":".
+headerRE = re.compile(r'^(From |[\041-\071\073-\176]{2,}:|[\t ])')
 EMPTYSTRING = ''
 NL = '\n'