Remove NULL checks from various Channel functions

Passing NULL to these functions are not permitted and must be avoided by the caller
Channel::KickUser() and cmd_kick changes

- Remove uline checks from KickUser()
- Disallow the kick if done by a local user and the victim is ulined in cmd_kick
- Remove call to RemoveAllPrefixes() as it has no additional effect, the Membership object containing the prefixes is destroyed soon after the call
Reduce User* -> Membership* lookups on part and kick
Remove the now unused Channel::RemoveAllPrefixes() and CountInvisible()
Refactor Channel::UserList() to use std::string
Merge insp20
Start to replace MAXBUF with <limits:maxline>.
Reserve ServerLimits::MaxLine instead of MAXBUF.
Compare to ServerLimits::MaxLine instead of MAXBUF.
Use iostream instead of C-style file operations.
Use InspIRCd::Format instead of snprintf().
Replace some C string operations with the + operator.
Rewrite irc::sockets::sockaddrs::str() completely.

- Replace use of MAXBUF with INET_ADDRSTRLEN/INET6_ADDRSTRLEN.
- Replace use of sprintf with InspIRCd::Format.
Convert ConvNumeric() to use std::string instead of char[MAXBUF].
Convert User::FormatNoticeMasks() to use std::string.
Convert User::SendText to use std::string.
Convert a ton of uses of MAXBUF to use a fixed buffer size.
Remove hardcoded MAXBUF constant.
Merge pull request #544 from SaberUK/master+kill-maxbuf

Purge MAXBUF in favour of a configuration option.
Fix Windows