Gather before() blocks and combine them

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Remove duplicate unimplemented (pending) specs

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Merge pending specs and implement missing contexts

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Don't stage when scaling an app

When scaling an app we used to stage it if needed. This staging step was
hidden from user and happened in background. We ended with two versions
of the app running until HM restarts it. So instead we don't stage the
app until we scale it first. And the user can initiate staging by
restarting the app.

[finishes #53252037]