adoption: make union for socket and file fds

This lets lws support adopting raw file FDs and raw socket fds.

A test plugin creates a FIFO and prints data sent on it, using
the lws event loop.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 579a29c..95f473e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1340,6 +1340,10 @@
 			      "plugins/protocol_post_demo.c" "" "")
 		create_plugin(protocol_lws_table_dirlisting
 			      "plugins/generic-table/protocol_table_dirlisting.c" "" "")
+		if (NOT WIN32)
+      		      create_plugin(protocol_lws_raw_test
+			      "plugins/protocol_lws_raw_test.c" "" "")
+		endif()
 
 if (LWS_WITH_SERVER_STATUS)
 		create_plugin(protocol_lws_server_status