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
8 files changed