Add sync status to CLI status

This is also displayed in the watched repository table in the CLI
status. Shows if the repository needs to be pushed or merged.
Small refactoring of the push and merge guards

I think that this makes the logic of the when to push or sync a little
easier to read.