add git.multi-gc

添加git.multi_gc功能。如果不指定fork的路径列表，与普通gc相同。指定fork_path时认为fork对repo因共享objects存在依赖，这时列出仍各个fork所有refs的有效commits，传递给prune，以保证做prune时不会删除由它们可达的commits
第一个是对的，这个性能现在不确定，但是想一想的话确实是很耗时。所以我说等实现了 dry-run 在试。
第二个，我就跟你说不清楚了，被你打败了，我明天跟你再说一下吧。