shill: Combines user- and kernel-bound nl80211 messages.

The UserBoundNlMessage and KernelBoundNlMessage classes are merged
into Nl80211Message.

As part of combining the two messages, the code was modified to use raw
socket writes instead of using libnl (in order to test kernel-bound
Nl80211Message writing) for sending a message.  Note, however, that
libnl code is still liberally used; there's just less use of it than
before.  Some (a little) effort was made to be consistent with the
RTNLHandler code toward combining the codebases, eventually.

BUG=chromium-os:36099, chromium-os:36638
TEST=unittests and manual tests (I added code to create an
Nl80211Message, send that message to the kernel, and display the output;
I hand inspected the output).

Change-Id: I7b04e49cee84745d1b02f1dd2b064f9e9a0aada2
Reviewed-on: https://gerrit.chromium.org/gerrit/40266
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
diff --git a/mock_callback80211_object.h b/mock_callback80211_object.h
index 8a54d0e..4d9c33b 100644
--- a/mock_callback80211_object.h
+++ b/mock_callback80211_object.h
@@ -11,12 +11,12 @@
 
 namespace shill {
 
-class UserBoundNlMessage;
+class Nl80211Message;
 
 class MockCallback80211 : public Callback80211Object {
  public:
   MockCallback80211() {}
-  MOCK_METHOD1(Config80211MessageCallback, void(const UserBoundNlMessage &msg));
+  MOCK_METHOD1(Config80211MessageCallback, void(const Nl80211Message &msg));
 
  private:
   DISALLOW_COPY_AND_ASSIGN(MockCallback80211);