Improve debuggability of some scmtools.core classes.

This adds __repr__ methods to Branch and Commit, making it easier to
debug the output from different methods.

It also changes ChangeSet to be a new-style class, since I was there
anyway.

Reviewed at https://reviews.reviewboard.org/r/5977/