Fixed unreported errors when loading Rules.txt.
SimpleFile does a better job dealing with parsing errors.

Also, check for key-value lines before checking for opening or closing
braces, in case a key-value has braces in it.
Fixed recursion problem with map-image loading.

When creating a map thumbnail image, qApp->processEvents() might get called
by EditorMapReader and/or PROGRESS.  During those calls, any queue imageLoaded
signals from worker threads would be delivered.  That could result in
BaseCellItem::mapImageChanged being called recursively.  So I don't call
updateCellImage() anymore --> I *think* it isn't needed since I added the
MapManager::newMapFileCreated() method.
Added a mechanism to defer mapImageChanged signals related to worker threads.

When deferral is enabled and a worker thread finishes loading an image, the
affected MapImage is added to a list.  When deferral is later disabled, the
mapImageChanged signal is emitted for all the MapImages in the list.  It isn't
100% clear whether this prevents any problems.
Moved the BMPToTMX "Finished!" dialog after maps have been assigned.

This lets all the thumbnails get recreated while the dialog is showing.
Updated Rules.txt to the version lemmy distributed on the forum.
Added TemplatesFile class to handle reading/writing BuildingTemplates.txt.

The old upgradeTxt() and mergeTxt() methods were bad because they both
manipulated the SimpleFile data directly.
Removed unused code caused by the last commit.

The last commit would have been a big mess if this code was removed earlier.
Added BuildingTemplates::importTemplates/exportTemplates from TileZed.
Updated dist.tcl.