Overhaul voting/AP stuff with collections.Counter.

Much less of a hack and moves stuff out of the Player instance.