Cluster singleton actor pattern, see #2895

First rough version for early review. Not ready for merge.

TODO:
- [ ] scaladoc
- [ ] rst docs in contrib area, ref from cluster docs
- [ ] use it in cluster router with single master sample
- [ ] java api
- [ ] adjust logging
- [ ] hardening, more testing
- [ ] uncovered scenarios?