Introduce Sweeps - a way to snapshot an entire Project

A "Sweep" is a way to trigger snapshot creation for all Urls and
Viewports in a project. Sweeps are meant to be the landing point for
reviewing the state of a project. The UI is very simple in this first
pass, but as we continue to refine the process, the sweep UI will be
optimized for fast diff reviewing.

Snapshots will be divided into four sections on the sweeps page:

  Pending      - those that have not yet been snapshotted
  Accepted     - the snapshots that have already been accepted (either
  automatically or manually)
  Rejected     - the snapshots that you or someone else did not approve
  Under review - the snapshots that need acceptance/rejecting

To trigger a sweep for a project, go to the project page and hit the
"Start new sweep" button. Before the sweep starts, you have to set a
title and a description. These fields might not be super useful when you
are manually triggering sweeps. But when integrated with a deploy
script, these fields can be filled with important information (such as
changes/commit messages).