chanserv: add prefix_action mini-API

This is to be used in fixing the flooding problems with /cs op, /cs
voice, etc.
chanserv: Add prefix_action_set_all to do target list processing
chanserv: Skip empty nicknames in prefix action lists
chanserv: Fix flooding with /cs op, etc.

This changeset is twofold:

  o  Merge pairs of commands like OP and DEOP into a single generic
     handler.

  o  Use the prefix_action_* functions to remove duplicates.
chanserv: Remove now-unneeded invert_purpose function