Hardening of another corner case in cluster singleton, see #3017

* It was an unlikely situatation that was not covered,
  the new leader didn't know previous, because it transitioned
  from Start -> BecomeLeader, old leader was removed and got
  LeaderChanged(None), so none of them could request the other
  for hand-over or take-over.
* Taken care of with the retry timeouts, also when leader
  receives LeaderChanged(None)
* The old leader should have received a propert LeaderChanged
  earlier, which is a flaw in the way we publish leader events.
  That part will be fixed in a separate commit.
Buffer LeaderChanged events and publish all on convergence, see #3017

* Otherwise some changes might never be published, since it doesn't have
  to be convergence on all nodes inbetween all transitions.
* Detected by a failure ClusterSingletonManagerSpec.
* Added a test to simulate the failure scenario.
Merge pull request #1112 from akka/wip-3017-singleton-bug-patriknw

Hardening of another corner case in cluster singleton, see #3017