1a3e9ec made CMessage try to retain the colon if the original message
contained one. We should not, however, remember that when the params
are replaced entirely. Consider for example an extended-join message
that is made suitable for a client that doesn't have extended-join
capability:
CMessage msg(":nick!ident@host JOIN #chan account :real name");
msg.SetParams({msg.GetParam(0)});
msg.ToString(); // ":nick!ident@host JOIN :#chan"