Deployer

Adds a deployer component, which uses the queue (#547) to schedule deployments using different strategies (currently one-by-one or all-at-once).

Resolves #602.
I initially added `Steps` to support arbitrary deployment steps (e.g. running migrations as part of the deploy), but we are not using it here so we should drop it.