Patch Set 1: (7 inline comments)

This isn't as bad as it seems. I think our major issue to work out is what single object will hold the path Charset object, and how to hang that off the ObjectReader and Repository in a way that isn't completely horrible to look at in the future.