Add GameMode enum and PlayerGameModeChangeEvent

hmmmm not sure about it all: imagine the gamemode is changed globally on ther server or for a world: it will trigger anyway PlayerGameModeChangeEvent for each Player isn't it ?