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.
Yes, ((a,b),(c,d)) and ((e,f),(g,h)), but that is the extreme case. It can also arise from ((a,b),(c,d)) and ((a,b),(e,f)) under some situations if (a,b) is not well supported on the input trees. It isn't that there is a use case, it is inherent in the algorithm.