Break /ns list into submodules

This allows contrib modules to easily add new list criteria. The idea is
similar to groupserv in that /ns list exposes functions that any module
can use, and which add the list criteria information to the list of
available list things.
mark.c warning to not use w/ multimark
This isn't needed