add Repository#descendant_of?

cc @ymendel @brianmario @vmg 
Whoops. What should I do to make sure it only accepts String OIDs or `Rugged::Commit`?