Change entryByName to handle full paths

Changed to use git_tree_entry_bypath instead of git_tree_entry_byname. This
change allows use of the paths instead of only getting files at the
same level in the tree.

git_tree_entry_bypath requires the user frees the git_tree_entry structure
so a modification to the QGitTreeEntry constructor / destructor has been made.