CORD-1416 Implement multi-homing probing in HostLocationProvider

Also include following refactoring
    - Refactor the way we generate ARP probe
    - Remove some unused code

Change-Id: I96b1c47bd5731b7b38ef4d19a941d231b5d0054c
diff --git a/core/api/src/main/java/org/onosproject/net/host/HostStore.java b/core/api/src/main/java/org/onosproject/net/host/HostStore.java
index 1529c68..6e98d95 100644
--- a/core/api/src/main/java/org/onosproject/net/host/HostStore.java
+++ b/core/api/src/main/java/org/onosproject/net/host/HostStore.java
@@ -134,4 +134,22 @@
      */
     Set<Host> getConnectedHosts(DeviceId deviceId);
 
+    /**
+     * Notifies HostStore the beginning of pending host location verification and
+     * retrieves the unique MAC address for the probe.
+     *
+     * @param hostId ID of the host
+     * @param hostLocation the host location that is under verification
+     * @return probeMac, the source MAC address ONOS uses to probe the host
+     */
+    default MacAddress addPendingHostLocation(HostId hostId, HostLocation hostLocation) {
+        return MacAddress.NONE;
+    }
+
+    /**
+     * Notifies HostStore the end of pending host location verification.
+     *
+     * @param probeMac the source MAC address ONOS uses to probe the host
+     */
+    default void removePendingHostLocation(MacAddress probeMac) {}
 }