Fix memleaks in Tree.EntryBy(Name/Path/Index), fixes #313
diff --git a/tree.go b/tree.go
index aad2c8d..a4b350b 100644
--- a/tree.go
+++ b/tree.go
@@ -51,6 +51,7 @@
 	if entry == nil {
 		return nil
 	}
+	defer C.git_tree_entry_free(entry)
 
 	return newTreeEntry(entry)
 }
@@ -69,6 +70,7 @@
 	if ret < 0 {
 		return nil, MakeGitError(ret)
 	}
+	defer C.git_tree_entry_free(entry)
 
 	return newTreeEntry(entry), nil
 }
@@ -78,6 +80,7 @@
 	if entry == nil {
 		return nil
 	}
+	defer C.git_tree_entry_free(entry)
 
 	return newTreeEntry(entry)
 }