Split long PRIVMSG and NOTICE commands into multiple messages to avoid truncation

RFC1459 specifies that each IRC command has a character limit of 512 characters, including the trailing
CRLF meaning that the entire command (including the verb [e.g. PRIVMSG] and target [e.g. #kiwiirc]) must
fit in 510 characters.

The limit is applied to both client -> IRCd and IRCd -> client messages, so we must be conservative and
leave room for the sender's prefix to ensure that the message is not truncated when the IRCd sends the
message to the target(s).

For this reason, I have chosen 350 characters as the break point.
Use a temporary variable rather than manipulate args.msg directly.
Merge pull request #159 from M2Ys4U/msg_wrap

Split long PRIVMSG and NOTICE commands into multiple messages
Sending correct message length when truncated (privmsg/notice)
Message truncating method a little more DRY
Callback fix on on truncated messages
Channel object start
IrcConnection handling in State instead of Client