add Repository#descendant_of?

cc @ymendel @brianmario @vmg 
I did some testing and found that only the `commit` argument being bogus will raise an error. If the `ancestor` argument is bogus, it appears that `git_graph_descendant_of` will just return `0`.

What should we do to make this more consistent?