Changes needed for custom player list in 1.8

* First patch is a "skin parts" API that lets you query which skin parts a player has enabled, and fires an event when this changes
* Second patch is miscellaneous things needed to make the new player list work

Downstream:
* OvercastNetwork/PGM#498
* OvercastNetwork/Commons#52