Make GetPortFromPortServer() a public API.

It was formerly internal only.

Normal users should just use PickUnusedPort() but there are rare times
when a test framework _only_ wants a port if it came from a specific server.
diff --git a/src/portpicker.py b/src/portpicker.py
index 751174d..5ea9f0c 100755
--- a/src/portpicker.py
+++ b/src/portpicker.py
@@ -97,7 +97,7 @@
   port = None
   # Provide access to the portserver on an opt-in basis.
   if 'PORTSERVER_ADDRESS' in os.environ:
-    port = _GetPortFromPortServer(os.environ['PORTSERVER_ADDRESS'], pid=pid)
+    port = GetPortFromPortServer(os.environ['PORTSERVER_ADDRESS'], pid=pid)
   if not port:
     return _PickUnusedPortWithoutServer()
   return port
@@ -132,7 +132,7 @@
       return port
 
 
-def _GetPortFromPortServer(portserver_address, pid=None):
+def GetPortFromPortServer(portserver_address, pid=None):
   """Request a free a port from a system-wide portserver.
 
   This follows a very simple portserver protocol:
@@ -140,7 +140,7 @@
   The response is a port number and a newline, 0 on failure.
 
   This function is an implementation detail of PickUnusedPort(), and
-  should not be called by code outside of this module.
+  should not normally be called by code outside of this module.
 
   Args:
     portserver_address: The address (path) of a unix domain socket
diff --git a/src/tests/portpicker_test.py b/src/tests/portpicker_test.py
index d711329..bf800cd 100755
--- a/src/tests/portpicker_test.py
+++ b/src/tests/portpicker_test.py
@@ -65,9 +65,9 @@
   @unittest.skipIf('PORTSERVER_ADDRESS' not in os.environ,
                    'no port server to test against')
   def testGetPortFromPortServer(self):
-    """Exercise the _GetPortFromPortServer() helper function."""
+    """Exercise the GetPortFromPortServer() helper function."""
     for _ in range(10):
-      port = portpicker._GetPortFromPortServer(os.environ['PORTSERVER_ADDRESS'])
+      port = portpicker.GetPortFromPortServer(os.environ['PORTSERVER_ADDRESS'])
       self.assertTrue(self.IsUnusedTCPPort(port))
       self.assertTrue(self.IsUnusedUDPPort(port))
 
@@ -75,7 +75,7 @@
     server = mock.Mock()
     server.recv.return_value = b'42768\n'
     with mock.patch.object(socket, 'socket', return_value=server):
-      port = portpicker._GetPortFromPortServer('portserver', pid=1234)
+      port = portpicker.GetPortFromPortServer('portserver', pid=1234)
       server.sendall.assert_called_once_with(b'1234\n')
     self.assertEqual(port, 42768)
 
@@ -84,7 +84,7 @@
     server.recv.return_value = b'52768\n'
     with mock.patch.object(socket, 'socket', return_value=server):
       with mock.patch.object(os, 'getpid', return_value=9876):
-        port = portpicker._GetPortFromPortServer('portserver')
+        port = portpicker.GetPortFromPortServer('portserver')
         server.sendall.assert_called_once_with(b'9876\n')
     self.assertEqual(port, 52768)