shill: LinkMonitor: Add ArpClient code

Add ArpClient class and start hooking it up to LinkMonitor.

BUG=chromium-os:32600
TEST=Unit tests.  Some real-world testing using the test harness
to transmit and receive ARP on a real network.

Change-Id: Ic05d8d7eb921878e3776f35b4be285554ef86456
Reviewed-on: https://gerrit.chromium.org/gerrit/28148
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/arp_packet.h b/arp_packet.h
index 58e4bf1..008eff3 100644
--- a/arp_packet.h
+++ b/arp_packet.h
@@ -50,6 +50,10 @@
  private:
   friend class ArpPacketTest;
 
+  // The minimum number of bytes of ARP payload which will produce the
+  // smallest valid Ethernet frame.
+  static const size_t kMinPayloadSize;
+
   IPAddress local_ip_address_;
   IPAddress remote_ip_address_;
   ByteString local_mac_address_;