Sketch out refactor steps.
Refactor loading of failed/succeeded/in_progress jobs.
Create a db:bootstrap task which uses db:drop/create/migrate.
We need to know who initiated a push.
Which job was used to push the current version should be extracted via commit.
Use ? methods for the view.
Incorporate @alloy's feedback: use null to mark global log_messages.
Rewrite migrations so that the submission_jobs table is divided into commits and push_jobs.
Refactor hooks_controller to use new commit.
[LogMessage] Refactor submission_job -> push_job.
[SubmissionJob] Remove.

Given a Viking burial, at sea.
[Jobs Index] Introduce commits.

Ohai demeter!
[PodVersion] Rewrite to use the Commit#pushed attribute.

We do not care about performance at this stage.
[Commit] Remove push method.
[PodVersion] Move message method there.
[PushJob] Add push! method.
[PushJob] Column commit_id can be null.
[Hooks] Rewrite specs.
[Commit] Fixed specs.
[Commit] State is defined in the sha of a commit.