operations: Reimplement UserUpdateSubmodule without git2go
Updating a submodule is simply updating the oid of the commit at the path. We can do this by manually rewriting trees and writing a new commit. If we implement it this way, we don't need to rely on Git2Go.
fixes: #4577 (closed)
Edited by John Cai