Fixed some cleanup related to closing documents

The cleanup was happening on document close requests rather than when
documents are actually being closed, and depending on the connection
order it may even have happened after the close request was already
handled.
Fixed the file system watcher in case a watched file is replaced

This approach seems to work for files saved with vim. Maybe it also
fixes the problem with watching tilesets saved by Photoshop.
Fixed compile against Qt 4

filesystemwatcher.cpp:78:26: error: invalid use of incomplete type ‘struct QStringList’
For OSX make tmxrasterizer a command line app which is also installed in
the dmg file and fix its shared lib paths.
Merge pull request #709 from mhussa/master

Update tmxrasterizer OSX install
Watch maps for changes and support reloading

The reload happens automatically when there are no currently unsaved
changes. It can also be triggered manually from the File menu. When
there are unsaved changes, the user is notified about changes to the map
file by a non-modal popup.

The undo history is lost when reloading a map for now. It would be nice
to change it so that it is kept in the future, but this isn't trivial to
implement.

Closes #56

Sponsored-by: FlatRedBall.com
Made variable name easier to understand
Provide a shortcut to add tilesets from the dock

This only works for non external tilesets.
External ones would require an icon. But it should also be
considered wether another button in the dock would not be too much.

Fixes: #695.
Use more generic interface

This allows to feed the method with other devices too.
Use QSaveFile if it is available

QSaveFile allows a safer way to write / overwrite files.

Tests with full file systems worked fine. Without QSaveFile it
horribly fails to save the current map leaving you with broken
files.

Fixes: #442.
Merge pull request #713 from Ablu/bugfix_442

Use QSaveFile when available for more reliable file saving
Merge pull request #711 from Ablu/add_tileset_button_in_dock

Provide a button to add tilesets in the Tilesets dock
Allow to add new animation frames by double click

Fixes #706.
Merge pull request #712 from Ablu/bugfix_706

Allow to add new animation frames by double click
Remember last path when adding images as tiles

Fixes #714.
Merge pull request #717 from Ablu/bugfix_714

Remember last path when adding images as tiles