add git.multi-gc

添加git.multi_gc功能。如果不指定fork的路径列表，与普通gc相同。指定fork_path时认为fork对repo因共享objects存在依赖，这时列出仍各个fork所有refs的有效commits，传递给prune，以保证做prune时不会删除由它们可达的commits
assert的语句，都可以改成 ```self.assertTrue``` or ```self.assertFalse```