* node2collection should only be populated when the collection is
added. This way collection_is_completed can be kept track of
correctly.
* The _removed2pending map needs to have the entire node as key
because it is needed to look up the collection of the gateway which
died in node2collection to check the collection of the replacement
node is identical.
* init_distribute() needs to actually keep track of the started nodes
otherwise it's (re)scheduling gets all confused and will re-schedule
too often.