Do not set OPERTYPE if ' m_servprotect' module is loaded

The ' m_servprotect' module will show services as a Service so there's
no need to double up on this information. This also has the added
benefit of making services not show up as opers in /lusers
opensex: remove support for never-used grammar version 2
opensex: actually return NULL if a token cannot be passed to the corestorage code (closes #365)
libathemecore: add support for tracking +channels properly.
Revert "protocol/ngircd: Ignore non-# channels in m_join(), m_part() and m_chaninfo()"

This reverts commit 349b35c4821d1b9360f5789dd8bd90e24bb44fe6.
protocol: use VALID_GLOBAL_CHANNEL_PFX() where appropriate
protocol: add VALID_CHANNEL_PFX() and use it in some places
alis: add support for searching +channels
operserv/sqline: try to sqline any channel type atheme can conceptually recognize
libathemecore: do not blindly pass NULL to strcmp() thus invoking undefined behaviour (closes #324)
libathemecore: is_founder(): remove overzealous assert (closes #343)
modules/api: deleted.

If we are to use this stuff, use mowgli.interface for it, further the modules are incomplete
and there's no test code for them.
libathemecore: recognize 'K' regex modifier (issue #274)
operserv/rwatch: set RWACT_KLINE if AREGEX_KLINE is present (closes #274)
Merge pull request #362 from shaynejellesma/insp-protocol

Do not set OPERTYPE if ' m_servprotect' module is loaded
groupserv/fflags: add last founder check (closes #352)
libathemecore: when binding/unbinding commands indirectly, sptr may be legitimately NULL. (closes #304)
libathemecore: add custom log target for service_t.  this allows botserv bots to log as chanserv.  (closes #239)