Unify send_signal() functions

send_signal_super() and send_signal_user() are combined in
send_signal().

Also, uchar, ushort and ulong types are added in kernel/types.h for use
in computations where casts take up all the horizontal space.
Separate sys_kill() and internal __kill()

sys_kill() now merely checks arguments and calls the __kill() function,
which does the signalling work.  This permits kernel code to send
signals without redundantly checking arguments.