Implement needs_push/needs_merge to vcs abstraction

Signed-off-by: Michal Čihař <michal@cihar.com>