Handle a rare race condition with reserved ports. (#14)

diff --git a/src/portpicker.py b/src/portpicker.py
index 7636733..e54dcbc 100644
--- a/src/portpicker.py
+++ b/src/portpicker.py
@@ -158,8 +158,11 @@
     Raises:
       NoFreePortFoundError: No free port could be found.
     """
-    if _free_ports:
+    try:  # Instead of `if _free_ports:` to handle the race condition.
         port = _free_ports.pop()
+    except KeyError:
+        pass
+    else:
         _owned_ports.add(port)
         return port
     # Provide access to the portserver on an opt-in basis.