Redo the IRC command data type

There are now actual distinct data constructors for different commands.