Merge branch 'master' into tabwidget

This, most likely, is broken because the merge was pretty bad.

Conflicts:
	content/gui/xml/editor/editor_settings.xml
	content/gui/xml/ingame/tabwidget/diplomacy/diplomacy.xml
	content/gui/xml/ingame/tabwidget/overview/mainsquare_inhabitants.xml
	content/gui/xml/ingame/tabwidget/overview/overview_enemywarehouse.xml
	content/gui/xml/ingame/tabwidget/overview/overview_settler.xml
	content/gui/xml/ingame/tabwidget/ships/overview_trade_ship.xml
	content/gui/xml/ingame/tabwidget/ships/overview_war_ship.xml
	content/gui/xml/ingame/tabwidget/warehouse/tab_account.xml
	content/objects/buildings/storagetent.yaml
	content/objects/buildings/warehouse.yaml
	horizons/engine/pychan_util.py
	horizons/gui/mousetools/buildingtool.py
	horizons/gui/tabs/mainsquaretabs.py
	horizons/gui/tabs/selectmultitab.py
tabwidget: Add name to button box

Lots of gui tests need to refer to the content of this box.
Pass selected instances to multi-select tab instead of session

Not sure this really is a more reasonable way to handle things,
requiring access to instance.session access feels pretty bad.
(cherry picked from commit f863b56477f0ae854658d633b38f3245f8fe93c1)

Conflicts:
	horizons/gui/tabs/selectmultitab.py
Whitespace
Fix some gui tests

A few others still segfault or crash.
Lazy translation for tab helptext
tabwidget: Properly clean up tabs when hidden

From on_tab_removal:
    # If one tab is removed, the whole tabwidget will die..
    # This is easy usually the desired behavior.

We did not, however, call hide() for the currently visible tab and just
killed the tabwidget around it. This meant that for instance scheduled
events referring to the old tab (think refresh calls) were still valid
and crashing later.
Add comments