GameListener improvements and victory condition fixes.

[ADDED]     Documentation to GameListener.
[FIXED]     Victory conditions are internal game listeners: they are not authenticated and should trigger on all events.
[FIXED]     Victory conditions do not trigger unless the game is running to keep them from ending a game that is not yet initialized or already over.
[IMPROVED]  onGameEnded now reports the victory condition that caused it to end.
[IMPROVED]  Misc improvements to game events.