Made it possible to "remove" players

WHAT?
----------

It's been bugging me for a while that we can't remove players from the ladder. This PR allows players to be hidden from the ladder, while preserving their results and everyones scores.

I've also added a player show page, where you can see all of a players' recent games.

![screen shot 2014-06-27 at 22 55 38](https://cloud.githubusercontent.com/assets/111963/3418369/153e8732-fe46-11e3-94c9-5105adc05ea9.png)

HOW?
-------

* I've put in place an active scope for players. Only active players are shown on the ladder
* When players are deleted they are really marked as inactive, and their position (on the ladder) is set to nil, then all of the active players have their positions recalculated
* I also had to rewrite the State class slightly, so that it now stores player positions in the state, rather than recalculating everyone's position from their elo score (this has a side benefit, because now the only place we calculate positions is in EloRating)
This is legacy code. Not sure how I feel about that. Would it be better just to error out if the previous_state for a result isn't in the new format? (ie. has positions)