SF patch #659536: Use PyArg_UnpackTuple where possible.

Obtain cleaner coding and a system wide
performance boost by using the fast, pre-parsed
PyArg_Unpack function instead of PyArg_ParseTuple
function which is driven by a format string.
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 33fb3bc..fb73385 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -503,7 +503,7 @@
 	if (f->f_fp == NULL)
 		return err_closed();
 	newsizeobj = NULL;
-	if (!PyArg_ParseTuple(args, "|O:truncate", &newsizeobj))
+	if (!PyArg_UnpackTuple(args, "truncate", 0, 1, &newsizeobj))
 		return NULL;
 
 	/* Set newsize to current postion if newsizeobj NULL, else to the