Lua game control

Implement `Game.EndGame()`. Add `Game.SaveGame()`.

This is in preparation for newui-settings. Possibly `SaveGame` should be a protected function (ie, only callable from 'trusted' code), but that may require either putting SaveGame in a different place, or extending LuaObject so that some functions of an object can be protected while some are not.