add git.multi-gc

添加git.multi_gc功能。如果不指定fork的路径列表，与普通gc相同。指定fork_path时认为fork对repo因共享objects存在依赖，这时列出仍各个fork所有refs的有效commits，传递给prune，以保证做prune时不会删除由它们可达的commits
使用dry-run后排除commits的办法，用```git log --all```遍历所有commits，比用pygit2要好