Rejigger assert code
The code is different enough between the client and server that they could use their own implementations. In particular, the server should use the log package to log the error, so it appears loudly in server logs.
This impacts other functions that depends from assert
, which can't
live in the shared helpers file anymore. At the price of a very small
code duplication, these methods are moved and some function calls are
inlined.
This also removes the unused NYI method.