Nullpo cleanup

- Removed unused, nonportable nullpo checks with formatted message
  (related: eAthena r15245)
- Converted nullpo_chk to a macro, to make it easier on the llvm static
  analyzer.
- Added more details to the nullpo_info reports (related: eAthena
  r15246)
- Ensured that the nullpo check macros evaluate their pointer argument
  once and only once, so that it's safe to use it for assignments.

Signed-off-by: Haru <haru@dotalux.com>
Added support for non-aborting assertions

- Added Assert_ret, Assert_retv, Assert_retb, Assert_retr, working
  similarly to the corresponding nullpo_ functions.
- Renamed nullpo.[ch] to assert.[ch]