tests: Move `saveload` utility to tests.game

Hopefully easier to reuse it in other tests this way.
tests: Add `saveload` utility for gui tests as well

As there are differences between the game test version and the gui test
one, having both around where they belong probably makes more sense than
one combined helper.
tests: Use `saveload` in boat builder test
tests: Save and reload tutorial during test progression

This should cover some basic scenario save/load functionality.
tests: Adapt tutorial test (saveload) to changes in #2167

We do not carry over the build menu, so it has to be re-opened.
tests: Increase test_tutorial timeout (save/load)
tests: Do not reset gui helper stuff on saveload

This is kind of a hack...
tests: Move shared code in GuiHelper to an own method
tests: Pass gui to gui-`saveload` instead of session

This enables us to use the new `setup` of GuiHelper.
Merge pull request #2174 from unknown-horizons/saveload-scenario

Test scenario save/reload functionality