[Request/Improvment] GameMode cleanup.

Hi!

The GameMode needs some cleanup. In its current state there are too much default logic added and a lot of stuff happens without even writing a single line of code. I understand this is added because its believed that it would help people to save time. However I think much time instead goes into understanding how the GameMode works and what is actually does. The logic are so basic so it would save most people a lot of time just writing it them self.

It would be better to have a game mode that’s as slim as possible with no default logic for spawning or similar and without internal states and then provide the current GameMode as a default implementation instead of forcing people to override and removing logic that potentially could break the game. Also if somethings changes in the game mode it could in its current state potentially be a problem for some uses that have modified the game mode.

I feeling this is actually a problem that goes through more parts of the engine. Too much default logic is added that is easy to implement if needed and almost only contributing to making the engine harder to learn and understand. By this design a lot of logic are being inherited incorrectly. Like e.g. the damage logic in AActor. Who said my game was about violence?