neighbor: Refactor out netlink code

This will allow us to re-use the generic netlink bits for other netlink
request operations.

Adds test coverage to the netlink message parsing routines for sanity
and regression prevention.

Tested:
    Neighbor population still works when static neighbors are created on
    the BMC.

Change-Id: I755e86eb76a8f6f825616c13279328134de87da9
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/Makefile.am b/Makefile.am
index 627bcbf..79db184 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,6 +17,7 @@
 noinst_HEADERS = \
 		ethernet_interface.hpp \
 		neighbor.hpp \
+		netlink.hpp \
 		network_config.hpp \
 		network_manager.hpp \
 		ipaddress.hpp \
@@ -49,6 +50,7 @@
 		ethernet_interface.cpp \
 		neighbor.cpp \
 		ipaddress.cpp \
+		netlink.cpp \
 		network_config.cpp \
 		network_manager.cpp \
 		network_manager_main.cpp \