Add email to sweeps, and ping when ready

This commit adds an email field to sweeps. If you add an email address,
it will be pinged when the sweep is ready (no pending snapshots). The
email is only sent once, and contains a link to the sweep page for easy
review.

The reasoning behind all this is that taking snapshots can take some
time, and the asyncness of the process might make it so that you forget
to follow up and review your sweep.

Some details:

  - I've added a very simple model validation to email addresses that
    only checks for an "@"-sign. Let's keep it this simple, I've seen
    too many email regexps that try to be too smart, and they almost
    always fail for certain types of email addresses.

  - I've made the snapshot model know less about the sweep by simply
    calling `refresh!` on create/update (instead of `update_counters!`).

  - The production email config is not functional yet, we need to
    re-visit this soon.

  - The development env will "send" emails to the `tmp/emails` folder,
    and save each email in a file. This makes testing in development
    easier.

  - Fixed a small bug with how the SweepWorker was run when the sweep
    didn't need to be delayed. Now a worker thread will only be created
    if delay_seconds is > 0 (which was the intention from the start).

  - I only created a text version of the email so far. I don't think we
    need to get fancy about this email. I worry a bit about the URL, I
    don't really know if it will be auto-linked in email clients. If
    not, we should probably create a simple html version instead.