Player model

Have an explicit model for a participant in a tournament. This should simplify many operations that are currently relying on joining through (potentially 100's) of ratings.