[netstack3] Add SendToken to datagram sockets

Introduce `SendToken` associated type to `DatagramSocketSpec`,
`UdpBindingsTypes`, and `IcmpEchoBindingsTypes`, and plumb it through
`send_conn` and `send_to` into `TxMetadata`.

This allows bindings to attach a per-packet token that core holds while
the packet traverses the network stack and device transmit queues.

For now, bindings passes `()` as the token while core's existing
`SendBufferTracking` remains active. A follow-up change will move
send buffer tracking to bindings using `SendToken`.

Bug: 552574410
TAG: agy
CONV: 913d50b0-53db-4395-bb33-52c143ad45b6
Change-Id: I66edbd1b6a2183f771943a919e37b996a842a357
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1827456
Reviewed-by: Jeff Martin <martinjeffrey@google.com>
Reviewed-by: Zeling Feng <zeling@google.com>
Commit-Queue: Sergey Ulanov <sergeyu@google.com>
22 files changed