Promote the server version from a local variable to a class variable,
so that a subclass can override it.

This partly addresses Bug #112634 -- but the documentation is still
wrong, since it suggests that you can set self.version *after* calling
the base class __init__.  In fact it must be done *before*.

I'll fix that too.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index cdea631..7275a5a 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -28,7 +28,7 @@
 import sys
 
 
-__version__ = '1.12'    # XXX This version is not always updated :-(
+__version__ = '1.13'    # XXX This version is not always updated :-(
 
 MAXFTPCACHE = 10        # Trim the ftp cache beyond this size
 
@@ -82,6 +82,8 @@
 
     __tempfiles = None
 
+    version = "Python-urllib/%s" % __version__
+
     # Constructor
     def __init__(self, proxies=None, **x509):
         if proxies is None:
@@ -90,8 +92,7 @@
         self.proxies = proxies
         self.key_file = x509.get('key_file')
         self.cert_file = x509.get('cert_file')
-        server_version = "Python-urllib/%s" % __version__
-        self.addheaders = [('User-agent', server_version)]
+        self.addheaders = [('User-agent', self.version)]
         self.__tempfiles = []
         self.__unlink = os.unlink # See cleanup()
         self.tempcache = None