Fix toolchain build on Ubuntu

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
Various changes to IPC interface

Simplified things a bit, removed connection payload messages and accept,
reject and forward. Connections now become active as soon as they are
listened for. Rejection should just be part of the message protocol - a
server can send an error message back to the client after listening and
close the connection if it wishes to reject it, no need for the kernel
to provide special mechanisms for this.

Similarly payload messages can just be sent by the client after opening
the connection. The main reason I added them in the first place was for
forwarding - forwarding was going to be used for connecting to services
via the root port, payload message would be used to specify service name
and service manager would forward to the service's port. Instead the
service manager will just provide a lookup call and return a handle to
the service port, which the client can then connect to itself.

Also added a couple of new things: messages now have a timestamp, and
carry a copy of the security context of the thread that sent the message
which can optionally be retrieved by kern_connection_receive(). This
means that servers can see changes to a client's security context, and
allows for per-message access checks.

Signed-off-by: Alex Smith <alex@alex-smith.me.uk>