Return a Tree object from Index->write_tree()

Most of the time, when calling ```write_tree()```, you're actually interested in the tree object, as the typical use case is to use this tree for creating a commit.

Return a ```Git::Raw::Tree``` object instead of the tree's object id. This PR also provides a stringify overload for ```Git::Raw::Tree``` which will return the tree's object id in order to minimise the impact of this change.