[shill] Migrate to RTNLMessage instead of nlmsghdr

Now, RTNLHandler deals with nlmsghdrs internally, and passes parsed RTNLMessage
objects to everyone else.

Also, move some code out of device_info_unittest.cc that was testing
RTNLHandler::ParseRTNL

BUG=chromium-os:18908
TEST=unit
STATUS=Verified

Change-Id: I8e1546ea8e996a0e2302fe5e5937b03c13cb1a61
Reviewed-on: http://gerrit.chromium.org/gerrit/5612
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/ip_address.cc b/ip_address.cc
index 9d300bd..16e07bb 100644
--- a/ip_address.cc
+++ b/ip_address.cc
@@ -4,6 +4,7 @@
 
 #include "shill/ip_address.h"
 
+#include <arpa/inet.h>
 #include <netinet/in.h>
 
 #include <string>
@@ -12,6 +13,13 @@
 
 namespace shill {
 
+// static
+const IPAddress::Family IPAddress::kAddressFamilyUnknown = AF_UNSPEC;
+// static
+const IPAddress::Family IPAddress::kAddressFamilyIPv4 = AF_INET;
+// static
+const IPAddress::Family IPAddress::kAddressFamilyIPv6 = AF_INET6;
+
 IPAddress::IPAddress(Family family, const ByteString &address)
     : family_(family) ,
       address_(address) {}