[CE] Move git operations for squash and rebase into Gitlab::Git
Backport of CE applicable changes from https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3543
Edited by Alejandro Rodríguez
Backport of CE applicable changes from https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3543