Change Py_BuildValue to generate Unicode objects for
's' and 'c' codes.
Change pickle to dump bytes objects using the 'S'
code, and to load the 'S' code as byte objects.
Change datetime and array to generate and expect
bytes objects in reduce/unreduce.
diff --git a/Python/modsupport.c b/Python/modsupport.c
index 330da5f..d29fe9b 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -387,7 +387,7 @@
 		{
 			char p[1];
 			p[0] = (char)va_arg(*p_va, int);
-			return PyString_FromStringAndSize(p, 1);
+			return PyUnicode_FromStringAndSize(p, 1);
 		}
 		case 'C':
 		{
@@ -438,7 +438,7 @@
 					}
 					n = (Py_ssize_t)m;
 				}
-				v = PyString_FromStringAndSize(str, n);
+				v = PyUnicode_FromStringAndSize(str, n);
 			}
 			return v;
 		}