Fix refleaks in function objects caused by kwdefaults not being allocated.

Should func_new be extended to support a "kwdefaults" arg?
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index 956cbbc..d835f89 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -413,7 +413,7 @@
 
 	if (value == Py_None)
 		value = NULL;
-	/* Legal to del f.func_defaults.
+	/* Legal to del f.func_kwdefaults.
 	 * Can only set func_kwdefaults to NULL or a dict. */
 	if (value != NULL && !PyDict_Check(value)) {
 		PyErr_SetString(PyExc_TypeError,
@@ -587,6 +587,7 @@
 	Py_XDECREF(op->func_module);
 	Py_DECREF(op->func_name);
 	Py_XDECREF(op->func_defaults);
+	Py_XDECREF(op->func_kwdefaults);
 	Py_XDECREF(op->func_doc);
 	Py_XDECREF(op->func_dict);
 	Py_XDECREF(op->func_closure);
@@ -609,6 +610,7 @@
 	Py_VISIT(f->func_globals);
 	Py_VISIT(f->func_module);
 	Py_VISIT(f->func_defaults);
+	Py_VISIT(f->func_kwdefaults);
 	Py_VISIT(f->func_doc);
 	Py_VISIT(f->func_name);
 	Py_VISIT(f->func_dict);