server: add notion of secondary servers

In the any_of cluster case, metrics may be routed to servers that go
down at some point.  Then the queues of those servers are never emptied,
even though any_of says that other servers may take those events.  With
the previous implementation of any_of, other servers would have sent the
data, since they all shared the same queue, hence to restore that
behaviour, introduce secondary servers.

If a server has nothing in its own queue, and it has secondary servers
registered, it will try to work on the queues of the secondaries as if
it were its own.  This behaviour ensures data is sent to the first
available server in the any_of case, still respecting the preference of
the router of which metrics are supposed to be sent where.
relay: make second shutdown signal force quit

Not dying processes are really annoying, so try to be a bit more
helpful.  While in theory this should never be necessary, practice
appears to be different.