Issue422

Sorry for the limited granularity on the commit history. This adds in majority rule and addresses #422. It should perform fairly better than the cogent implementation, but not awesomely better. I'm pretty certain that the lookups into `accepted_clades` can be optimized so that, instead of a O(N) search through a list that a `dict` could be used to provide O(1)-ish lookups to ancestors. I was planning on benching that tomorrow, but was hoping to get a review in parallel while finalizing performance tweaks.
Ok, I see now. 

This does seem weird to me though:

> in which there are two or more sets of disjoint tip names

Do you mean that the set of tip names on the input trees is not equal? What is the use case for that? (I've only used this for generating a consensus e.g. of jackknifed trees, where the set of tip names would be equal on all inputs.) Can you provide a usage example that illustrates this case? I think this case is also not tested, so could add the same example to the tests and the *Examples* section.