[Open Screen] Update documentation on threading, other fixes.

- Adds document on threading assumptions.
- Clarifies assumptions in task_runner.h.
- Other misc documentation updates.

Change-Id: Ie3635c6f4f84ea4fdfb44790ec585d358452bfe3
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2037961
Commit-Queue: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: Ryan Keane <rwkeane@google.com>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
diff --git a/platform/api/udp_socket.h b/platform/api/udp_socket.h
index 0bc8aff..e668db1 100644
--- a/platform/api/udp_socket.h
+++ b/platform/api/udp_socket.h
@@ -5,11 +5,10 @@
 #ifndef PLATFORM_API_UDP_SOCKET_H_
 #define PLATFORM_API_UDP_SOCKET_H_
 
-#include <atomic>
-#include <cstdint>
-#include <functional>
+#include <stddef.h>  // size_t
+#include <stdint.h>  // uint8_t
+
 #include <memory>
-#include <mutex>
 
 #include "platform/api/network_interface.h"
 #include "platform/base/error.h"
@@ -19,7 +18,6 @@
 namespace openscreen {
 
 class TaskRunner;
-class UdpSocket;
 
 // An open UDP socket for sending/receiving datagrams to/from either specific
 // endpoints or over IP multicast.