Allow port deletion even if it is not in internal dict

delete_port function should catch the KeyError or
use pop function when deleting the port from the
internal dictionary.
Otherwise it is not possible to the delete the port
if add_port is called in one process/context and
delete_port is called in another process/context. In these
scenarious, the _port dictionary will always be empty.

Change-Id: I3596489d42ae2c17f8be31edd8a97ede2edd30d3
Merge "Allow port deletion even if it is not in internal dict"