Externalise pull/push behaviour to PullPushPolicy
Cleanup pull/push API usage & make the pull fail on non fast forward merges
Implement "rebase on failed pull" and "restore on rebase conflict" policy
Reduce profile overlay logging - store last overlay as runtime attribute
Allow the commit to stay in the repository in case of a TransportException
Migrate ExtendedUpgradeAndRollbackTest to arquillian
Reduce overlay profile logging
Revisit reset after push conflict
Remove dependency on InvalidComponentException from test support layer