s_assert requires some higher-level functionality that shouldn't be
present in ircd_defs.h. ircd_defs.h is used by ssld, which has no notion
of logging or sending IRC messages. Additionally, some of the headers
s_assert depends on result in conflicting definitions in ssld.c.
This change also fixes the compile when using --enable-assert=soft.
This can happen harmlessly in particular if a SAVE
and a nick-prefixed command crossed; then, due to
nick changes and nick chasing, it easily causes
ghosts that need a kill or split to disappear.
Most commands use UID as prefix which does not have
this problem and will destroy real ghosts soon enough.
Note that +D clients do not get these. This is consistent
with how ircu treats remote numerics and with how we treat
server notices from other servers, but not with how locally
generated notices and numerics are sent also to +D clients.
to specify the full (unmasked) name of a server behind
a hostmask. As a result find_any_client() (for prefixes)
becomes equal to find_client(), so remove that too.