Full-fledged query buffers

Store query buffers per query the same way it's done for channels.

This allows clients to implement persistent query buffers. Queries
remain open across clients and sessions until a client explicitly
sends a command to clear a (closed) query buffer.

A new config option AutoClearQueryBuffer that default to false
ensures behavioral backwards compatibility, and another config
MaxQueries protects from OOM eg. due to PM attacks.
controlpanel: add support for AutoClearQueryBuffer & MaxQueries
webadmin: add support for AutoClearQueryBuffer & MaxQueries
clearbufferonmsg: handle query buffers
savebuff: handle query buffers
Merge pull request #598 from jpnurmi/query

Full-fledged query buffers
Fix CChan::SendBuffer()

The CChan::SendBuffer(CClient,CBuffer) overload should just playback
the given buffer and obviously not clear the channel's own buffer
=> auto-clear the buffer in CChan::SendBuffer(CClient) as appropriate.
Merge pull request #619 from jpnurmi/cchan-sendbuffer

Fix CChan::SendBuffer()
Merge remote-tracking branch 'upstream/master' into msvc
add new source files (Query.cpp/h)