SOC_U: Implemented some socket functions

This allows ftpony and ftbrony to work.
It's using Berkeley sockets directly since that's what the soc:U service exposes to applications.
events and revents are perfect candidates for using BitField, roughly like this:

    union Events {
        BitField<0, 1, u32> pollin;
        BitField<0, 1, u32> pollpri;
        BitField<0, 1, u32> pollhup;
        // ...
    };
    Events events;
    Events revents;

That would considerably clean up the two static methods in this struct.