dispatcher: fix several issues with empty destination sets

Upon (re)load, a dispatching set may be empty if none of its destinations
can be resolved. This patch fixes a couple of crashes which are directly
related to empty destination sets:

    * fix a bug in reindex_dests() where a single bogus destination
      would be allocated for each empty set
    * prevent ds_select_dst() from routing to empty sets

(cherry picked from commit 127b456a874499b6295008425144ca29b5e69d75)

Conflicts:
	modules/dispatcher/dispatch.c

(cherry picked from commit 0ef55ed992bfd7121771ffec79ec51273a29a1c6)