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.
I see what you're saying. Instead of triggering the redeployment right away, we could instead schedule a redeployment to take place later. This would handle the case of many containers all joining at once. If there is a redeploy scheduled, then we know we don't need to schedule another one.

Given time time crunch we have for release, the only thing I'm afraid of is issuing deployments on a separate thread. Right now things are orderly since all deployments happen in a single thread, and I don't know the implications of splitting that off.

To mitigate this a bit, I'm going to change the logic so that a sleep occurs only if it is confirmed that there are modules that need to be deployed. This will prevent the thread from "backing up" when many containers join at once.

As @markfisher pointed out it seems that the logic for arriving and departing containers is starting to look similar, so we should refactor this in the near future taking your suggestion into account.