SF patch# 1770008 by Christian Heimes (plus some extras).
Completely get rid of StringIO.py and cStringIO.c.

I had to fix a few tests and modules beyond what Christian did, and
invent a few conventions.  E.g. in elementtree, I chose to
write/return Unicode strings whe no encoding is given, but bytes when
an explicit encoding is given.  Also mimetools was made to always
assume binary files.
diff --git a/Lib/plat-mac/aepack.py b/Lib/plat-mac/aepack.py
index aa0f2cd..726a7de 100644
--- a/Lib/plat-mac/aepack.py
+++ b/Lib/plat-mac/aepack.py
@@ -17,7 +17,7 @@
 from Carbon.AppleEvents import *
 import MacOS
 import Carbon.File
-import StringIO
+import io
 import aetypes
 from aetypes import mkenum, ObjectSpecifier
 import os