XD-1984: all modules deploy to the first container

When a container arrives, use the RedeploymentContainerMatcher
to issue deployments for unallocated modules. This reuses
the logic for container departure.

This change makes it less likely that a system restart will
result in all modules being deployed to the first container
that arrives in the cluster.

A side effect of this change is that ArrivingContainerModuleRedeployer
no longer needs to query for the deployments on an arriving
container because the redeploy logic for modules in
ModuleRedeployer already prevents the deployment of
duplicate modules to a container.

2nd commit message:

XD-1984 polishing

3rd commit message:

wip

4th commit message:

Updates from review
DistributedTest: Use random available port

- In StreamPartitionTests, use `SocketUtils.findAvailableServerSocket()`
instead of port `9000`