Testing for heterogeneous rates of discrete character evolution on phylogenies