XIA/Serval: move Serval from IP To XIP

This patch moves Serval from IP To XIP through
the following changes:

- Drop enum sv_service_flags. This enum seemed important given it
  was a field in struct sockaddr_sv and many other structs that
  had a ServiceID. Nevertheless, the flags defined in this enum
  were only copied around, that is, they had no effects.

- Drop struct list_head sock_list that held all Serval sockets.
  This list was used to list sockets in userland via /proc.
  This list is redudant in XIA because sockets can be listed
  from routing tables. Not to mention, that sock_list was
  a source of contention on a busy server.

- Reduce ServiceID from 32 bytes to 20 bytes, and increase
  FlowID from 4 bytes to 20 bytes to match XIDs.

- Drop default ServiceID (i.e. all bits zero).
  This special ServiceID was used for broadcasting when no other
  ServiceID in the routing table matched the searched ServiceID.
  This is not needed in XIA given that we have NWP to deal with
  local networks.

- Replace Serval's control channel, which was implemented over
  Netlink, to XIA's Route Netlink channel.

- Drop source extension header (i.e. struct sal_source_ext).
  This extension header was only meant to deal with NAT,
  which doesn't exist in XIA.

- Drop service extension header (i.e. struct sal_service_ext).
  ServiceIDs are now part of the XIP addresses.

- Drop FlowIDs from SAL's basic header.
  FlowIDs are now part of the XIP addresses.

- Serval's connect(2) requires a socket to be bound.
  Otherwise it can't create an address for the FlowID.

- Adopt XID tables to store routing information.
  ServiceID and FlowID are now stored using the data
  structure provided to all principals; The obvious advantage
  is the adoption of RCU and increased code reuse.

- Move Serval's socket API from IP to XIP.

- Replace Serval's dependencies on IP to XIP.

IMPORTANT, this patch does NOT port socket migration.
  Given that files serval_sock.{h,c} hold functions used for
  migration, they are kept. Nonetheless, they are not included
  or compiled.
Fix error when <net/xia.h> is included in userland