Handle start_at and skip_one before processing loop

This is mainly to prevent harold from spamming up IRC with progress
notifications when you restart an interrupted push that's already past
some notification points.

This is rebased on top of spladug's pending changes, so the only new commit here is https://github.com/Deimos/push/commit/1be35c26abf8ddb056bf4cac1db6dae84a648723
This still has the issue with stop-befores earlier in the list than start-ats.  If you flip the order of these two (i.e. do `stop_before` first like in the original code) then you'll get the correct behaviour.