Make functional.partial() more closely match the spec by emulating some useful features of regular functions:

* Made weak referencable.
* Allow attribute access so a user can set __name__, __doc__, etc.
diff --git a/Doc/lib/libfunctional.tex b/Doc/lib/libfunctional.tex
index fa8ef46..86b1483 100644
--- a/Doc/lib/libfunctional.tex
+++ b/Doc/lib/libfunctional.tex
@@ -44,6 +44,7 @@
 two:
   \begin{verbatim}
         >>> basetwo = partial(int, base=2)
+        >>> basetwo.__doc__('Convert base 2 string to an int.')
         >>> basetwo('10010')
         18
   \end{verbatim}
@@ -71,3 +72,10 @@
 The keyword arguments that will be supplied when the \class{partial} object
 is called.
 \end{memberdesc}
+
+\class{partial} objects are like \class{function} objects in that they are
+callable, weak referencable, and can have attributes.  There are some
+important differences.  For instance, the \member{__name__} and
+\member{__doc__} attributes are not created automatically.  Also,
+\class{partial} objects defined in classes behave like static methods and
+do not transform into bound methods during instance attribute look-up.