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.
Just something different, and can be tiny (i.e., this test might pass if I re-wrote the function as: ``def majority_rule(trees): return TreeNode.from_newick("(((E,(G,(F,I),(C,(D,J,H)))),B),A);"). 

Also, definitely the case where there is more than one tree coming back (related to my comment above).