dhcp_client: use ByteString for hardware address

Since the hardware address of network device may contain
0 in the middle, using std::string could be ambiguous.
We change the type from std::string to shill::ByteString
to fix that.

Bug: 25642025
TEST=compile and unittests
Change-Id: I301cd9c351e02e7509bfbb4772c9cfbd5b00a668
diff --git a/service.h b/service.h
index 6adbc12..b0044aa 100644
--- a/service.h
+++ b/service.h
@@ -26,6 +26,7 @@
 #include "dhcp_client/dhcp.h"
 #include "dhcp_client/dhcpv4.h"
 #include "dhcp_client/event_dispatcher_interface.h"
+#include "shill/net/byte_string.h"
 
 namespace dhcp_client {
 
@@ -49,7 +50,7 @@
   EventDispatcherInterface* event_dispatcher_;
   // Interface parameters.
   std::string interface_name_;
-  std::string hardware_address_;
+  shill::ByteString hardware_address_;
   unsigned int interface_index_;
 
   // Unique network/connection identifier,