Add thin abstraction layer for network sockets

This makes SocketProfilingConnection and GatordMock work on Windows as
well as Linux

Change-Id: I4b10c079b653a1c3f61eb20694e5b5f8a6f5fdfb
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
diff --git a/src/profiling/SocketProfilingConnection.hpp b/src/profiling/SocketProfilingConnection.hpp
index 5fb02bb..05c7130 100644
--- a/src/profiling/SocketProfilingConnection.hpp
+++ b/src/profiling/SocketProfilingConnection.hpp
@@ -5,8 +5,8 @@
 
 #include "IProfilingConnection.hpp"
 
-#include <poll.h>
 #include <Runtime.hpp>
+#include <NetworkSockets.hpp>
 
 #pragma once
 
@@ -31,7 +31,7 @@
 
     // To indicate we want to use an abstract UDS ensure the first character of the address is 0.
     const char* m_GatorNamespace = "\0gatord_namespace";
-    struct pollfd m_Socket[1]{};
+    armnnUtils::Sockets::PollFd m_Socket[1]{};
 };
 
 } // namespace profiling