XIA/U4ID: add UDP socket for tunneling

During the loading of a U4ID principal, a socket is created and bound
to the port U4ID_SERVER_PORT. Eventually, socket creation will be
per instance of a U4ID, and the port will be fetched from the XID.
The socket is marked as an encapsulation socket, which allows a
callback function, u4id_udp_encap_recv, to be registered, which
will be called upon packet delivery on that socket.

Upon receiving an encapsulated XIP packet, u4id_udp_encap_recv
puts the packet on the loopback device so that the packet is
naturally delivered to the xip_rcv function. This passes control
of the packet from the IP stack to the XIA stack.

A new UDP encapsulation type is added to include/uapi/linux/udp.h.
XIA/U4ID: add skeleton for XIA delivery function
XIA/U4ID: fix formatting
XIA/U4ID: add action for local U4IDs
XIA/U4ID: add code for main U4IDs
XIA/U4ID: fix dst input/output functions