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.
So for a given node, is the support equal to the sum of tree weights that that node is observed in? In other words if the node ``x`` is observed in trees ``t1`` (weight = 0.5) and ``t2``(weight = 1.5), but not ``t3`` (weight = 1.0), it's support would be 0.5 +  1.5 = 2.0? (Just trying to wrap my head around the algorithm, not questioning it's correctness.)