When sending an error use the IRC_WriteErrClient() variant

This ensures that all errors have a 2 second penalty.
Introduce a macro to define the command list

This will pave the way to other changes and simplifies the entries somewhat.
Move IRC_SetPenalty() to Handle_Request() when possible

This centralizes the penalty handling. It also exposes some commands that
lack it for our attention.
Rework the penalty handling slightly

Increase the penalty for a command before checking its arguments.  This
makes the handling more consistent and allow us to move more penalties to
Handle_Request().