Awesome deploy

This commit introduces a new fab command, `awesome_deploy`, that preindexes and, provided preindex completes quickly, deploys. For 90% of deploys, this reduces deploy to a single step.

This PR touches functions used in current normal deploy only minimally: makes preindex log its completion to redis and adds a way to check for completion; splits deploy function up. Neither of these should affect normal deploy. I propose we keep using normal deploy for another few days, but use `awesome_deploy` on staging. To that affect, I've also changed the rebuildstaging `--deploy` option to use `awesome_deploy`.
might not be reading this closely enough, just wondering how this gets invalidated. like if we deploy view changes in the same day a preindex happened where is the protection for that?