Ensure collective still works if there is only one host

A tiny fix: running collective in our development environment, where we don't use cluster, so we've only got one worker.   Collective then silently fails by never calling the callback function you give it in the constructor.  

In this reduntant case Collective obviously doesn't sync anything (since there are no other hosts to sync to).  But it runs fine and suffices for development.

I've included the fix and a test case.