Add tilesets needed by a building to TileMetaInfoMgr after loading a .tbx.

After reading a .tbx file, determine all the tilesets used by that building
and add them to TileMetaInfoMgr if they haven't already been added.

The tilesets are looked for in the Tiles directory, assuming a .png suffix.
The config-files directory is gotten from TileZed's preferences.

Lemmy asked that the config-files directory be changeable.
The location is taken from TileZed's preferences (via QSettings).
The location can be changed using TileZed's 'config' program.
TileMetaInfoMgr::loadTilesetImage() uses TilesetManager::loadTileset().

A recent commit adds tilesets needed by a building when a .tbx file is loaded.
That code calls loadTilesetImage(), but loadTilesetImage() wasn't loading
those tilesets asynchronously.

The return value was also bogus (should have been boolean not a pointer).

The other changes are from TileZed.
BuildingTMX::exportTMX uses BuildingMap::addRoomDefObjects().

This change is from TileZed.
Removed unused code.
Fixed a crash when a cell's map changed.

Recreating the cell's MapComposite will delete all the submaps, so delete
all the SubMapItems.  Loading the map may put up a PROGRESS dialog which
causes repainting of the scene.
Preserve the view position when reloading a cell's map.
Add * to the window title when a cell document is current and modfied.

CellDocument always returns isModified()==false, so check the associated
WorldDocument for the modified status.