add MockWorkspace and GitGlobalCommand as git-init and git-clone. and fix Workspace interface. so now, git-init can work on mock workspace.