Backport of all relevant cluster tickets to release-2.1

Cherry pick of cluster related tickets.

There is one binary compatibility issue we must decide/adjust in Deployer and RemoteActorRefProvider.

ClusterDeathWatchSpec is failing, "receive Terminated when watched node is unknown host", but it fails on the release-2.1 branch also, so I must investigate when that started.


**Summary of new features and important bug fixes:**
2547 - Cluster metrics-aware adaptive load balancing routers.
2704 - Load Cluster extension when ClusterActorRefProvider is used.
       extensions = ["akka.cluster.Cluster"] is not needed any more
2779 - Publish AddressTerminated after a member is Downed/Removed, 
       previously this was done immediately when it was detected as 
       unreachable.
2306 - Configuration option (min-nr-of-members) defining how many 
       nodes the leader should wait for until moving nodes from 
       JOINING to UP. Also a registerOnMemberUp callback hook that
       can for example be used for starting an actor when UP.
2907 - Detect failure when no heartbeats sent. 
2895 - Cluster singleton actor pattern

Lots of small fixes and improvements, see commits.