Add GameMode enum and PlayerGameModeChangeEvent

I suppose so, but there is a "global" GameMode setting for the server itself.