Implement ip_lib.device_exists_with_ip_mac

ip_lib.device_exists simply checks that a device is in an
(optional) namespace. This patch adds
ip_lib.device_exists_with_ip_mac, which also verifies that
the device is configured with the given IP and MAC addresses.
The new function is used in functional tests in a patch
further down the dependency chain.

Added functional tests for ip_lib.device_exists,
ip_lib.device_exists_with_ip_mac.

Implements: blueprint l3-high-availability
Change-Id: I1495bcf1f1a88e2eb78df79cccb64121ccf435fb
Fix for floatingip-delete not removing fip_gw port

fip_agent_gateway_port is created dynamically on a
compute node where FIP namespace is created. When
floatingip-disassociate is called this 'port' is
deleted.

But when we call floatingip-delete this port is
not deleted.

This patch fixes the issue mentioned above.

Closes-Bug: #1351066

Change-Id: I1aa51680394547390546fe362abfae7a5d25425b
Merge "Implement ip_lib.device_exists_with_ip_mac"
Merge "Fix for floatingip-delete not removing fip_gw port"