Add skin API

* Get/set/clear a player's skin
* Set fake skins per-viewer
* Works in 1.7 and 1.8
Dinnerbone told me not to re-add player list entries in 1.8 without removing them first, though he didn't mention why. So this should probably be here in any case.