Execute distinct stages of deployment separately
Refactored deploy-local into separate 'fetch', 'promote', and 'check'
stages that can be executed independently by the remote deploy
process. This separation will allow for different batch sizes per stage,
potentially optimizing for cases where a "rolling deploy" is desired but
highly concurrent fetching/cloning is still possible.