Use fetch and checkout instead of pull.
Ignore notifications without 'head_commit' given.
Move push tests into on_message and add start msg.