Print only 1 error on error.
chanserv/quiet: Allow unquieting improper masks on the quiet list.

This is like how /cs unban already worked: anything on the quiet list can
be removed by specifying the exact mask even though it does not pass
validhostmask().
phandler: Nicks starting with '-' are not allowed by ircds.

Therefore, disallow them here as well (used by services nick
configuration).
chanserv/quiet: Reduce some code duplication.
chanserv/quiet: Disallow mixing quiet and unquiet in one command.

This is undocumented and makes it harder to prevent flooding
because the same user might be quieted and unquieted repeatedly.
chanserv/quiet: Also notify target user if we just -v'ed or -e'ed.

The QUIET command can do three things to the target user: devoice, add a
quiet matching them and remove ban exceptions matching them. A notification
should be sent when anything happened, not only when a quiet was added.
chanserv/antiflood: Handle NULL from place_quietmask().
libathemecore: make servtree_update() public.
add dragon, a new, modular, ircd link performance benchmarking toolkit
Merge pull request #152 from killerrabbit/dieroll

Print only 1 error on error.
libathemecore: Disallow ban masks starting with a colon more cleanly.

Formerly, validhostmask() accepted things like :test!*@* which were then
rejected by chanban_add() (because they break the protocol) but this did
not provide a clear error message, and pretty_mask() changed things like
:test to *!*@*.
Fixing https://github.com/atheme/atheme/issues/156

Thanks @dwfreed ! :-)
dragon: don't override dragon.conf settings
protocol/base36uid: don't depend on .bss providing padding for new_uid[].
protocol/unreal: support direct unreal 3.4 SID exchange
protocol/unreal: add SID support
protocol/unreal: use SID in more places
protocol/unreal: implement support for UID command
protocol/unreal: enable VHP mode
protocol/unreal: send UIDs where appropriate