Merge of the folding-reimpl-branch.  Specific changes,

Charset: Alias __repr__ to __str__ for debugging.

header_encode(): When calling quopriMIME.header_encode(), set
maxlinelen=None so that the lower level function doesn't (also) try to
wrap/fold the line.
diff --git a/Lib/email/Charset.py b/Lib/email/Charset.py
index a7c08c1..dd328e0 100644
--- a/Lib/email/Charset.py
+++ b/Lib/email/Charset.py
@@ -234,6 +234,8 @@
     def __str__(self):
         return self.input_charset.lower()
 
+    __repr__ = __str__
+
     def __eq__(self, other):
         return str(self) == str(other).lower()
 
@@ -358,14 +360,14 @@
         if self.header_encoding == BASE64:
             return email.base64MIME.header_encode(s, cset)
         elif self.header_encoding == QP:
-            return email.quopriMIME.header_encode(s, cset)
+            return email.quopriMIME.header_encode(s, cset, maxlinelen=None)
         elif self.header_encoding == SHORTEST:
             lenb64 = email.base64MIME.base64_len(s)
             lenqp = email.quopriMIME.header_quopri_len(s)
             if lenb64 < lenqp:
                 return email.base64MIME.header_encode(s, cset)
             else:
-                return email.quopriMIME.header_encode(s, cset)
+                return email.quopriMIME.header_encode(s, cset, maxlinelen=None)
         else:
             return s