Add optional docstrings to member descriptors.  For backwards
compatibility, this required all places where an array of "struct
memberlist" structures was declared that is referenced from a type's
tp_members slot to change the type of the structure to PyMemberDef;
"struct memberlist" is now only used by old code that still calls
PyMember_Get/Set.  The code in PyObject_GenericGetAttr/SetAttr now
calls the new APIs PyMember_GetOne/SetOne, which take a PyMemberDef
argument.

As examples, I added actual docstrings to the attributes of a few
types: file, complex, instance method, super, and xxsubtype.spamlist.

Also converted the symtable to new style getattr.
diff --git a/Objects/sliceobject.c b/Objects/sliceobject.c
index 8f52f9e..81517a8 100644
--- a/Objects/sliceobject.c
+++ b/Objects/sliceobject.c
@@ -129,7 +129,7 @@
 	return s;
 }
 
-static struct memberlist slice_members[] = {
+static PyMemberDef slice_members[] = {
 	{"start", T_OBJECT, offsetof(PySliceObject, start), READONLY},
 	{"stop", T_OBJECT, offsetof(PySliceObject, stop), READONLY},
 	{"step", T_OBJECT, offsetof(PySliceObject, step), READONLY},