Use SO_REUSEPORT to balance TCP connections and UDP datagrams

On startup, we fork one process per CPU. Each process binds to the same
address and port setting the SO_REUSEPORT option. When a connection or
datagram comes in, the kernel decides to send it to a single process,
rather than all. Connections and packets are hashed to a process based
on source ip and port tuples.

Internal statistics counters will only return the values for a single
worker, which is misleading.