Add changes required to build with Clang

Explicitly qualify identifier to find declaration in dependent base class
Make types more consistent (class/struct was used interchangably)
This removes the requirement to specify -Wno-mismatched-tags for Clang

BUG=chromium-os:28749, chromium-os:30434
TEST=Run USE="clang" FEATURES="test" emerge-amd64-generic -v shill

Change-Id: I4a9839b9377d9ac320ab024a57f94603365e1713
CQ-DEPEND=Idac49b9de009c676ac8a2820fc2ce780195d94a4
Reviewed-on: https://gerrit.chromium.org/gerrit/29082
Reviewed-by: Liam McLoughlin <lmcloughlin@chromium.org>
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
Commit-Queue: Liam McLoughlin <lmcloughlin@chromium.org>
diff --git a/config80211.cc b/config80211.cc
index 6bf1ab8..01e27e8 100644
--- a/config80211.cc
+++ b/config80211.cc
@@ -266,7 +266,7 @@
     // architectures).
     size_t bytes_left = end - buf;
     if (((bytes_left < (offsetof(nlmsghdr, nlmsg_len) +
-                        sizeof(nlmsghdr::nlmsg_len))) ||
+                        sizeof(msg->nlmsg_len))) ||
          (bytes_left < msg->nlmsg_len))) {
       LOG(ERROR) << "Discarding incomplete message.";
       return;