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.
Hmm well if it doesn't satisfy the interface, then any code using it won't compile right?