Repository: allow retrieving the default signature

Make it easier to grab the default signature for a repository by adding
a getter at the Repository level.
Commit: allow retrieval of the tree's ID

Let the user retrieve the ID of the commit's tree instead of having to
load the tree just to retrieve this information.
Commit: allow retrieval of the parents' ids

Don't force the user to load the parents in order to get their ids, but
expose a list of the ids directly.
TreeEntry: add rich comparison function

Allow direct comparisons between TreeEntry objects, which also allows us
to use assertEqual in the sanity check test.

This fixes #305.
Config: switch from foreach iterator

An iterator is much more natural in python, so let's use that.
Merge remote-tracking branch 'carlos/commit-attr-id'
Merge remote-tracking branch 'carlos/config-iterator'
Merge remote-tracking branch 'carlos/treeentry-cmp'