controlpanel: allow wildcards for getchan & setchan
Correct documentation for OnUnknownUserRaw
Merge pull request #683 from NuclearW/onunknownuserraw-docs

Correct documentation for OnUnknownUserRaw
Add ircv3.2 batch and batch channel and query buffer playback.
Merge pull request #679 from jpnurmi/setchan

controlpanel: allow wildcards for getchan & setchan
Merge pull request #678 from NuclearW/batch-playback

Add ircv3.2 batch and batch channel and query buffer playback.
Introduce CaseSensitivity enum class

The enum is a bit more verbose, but leads to more readable code:

str.Equals("foo", true)
// vs.
str.Equals("foo", CString::CaseSensitive)

Deprecate the old Equals() and leave out the length parameter
from the new version => use StartsWith() or StrCmp() instead.
CString::Starts/EndsWith(): allow specifying case sensitivity
Add CString::Find() with case sensitivity support

It's convenient and more efficient than converting both strings
to upper or lower case.
Add CString::Contains() for convenience

This is more convenient and readable than comparing Find() to npos,
which is a common task:

$ git grep "find(" | grep "npos" | wc -l
49