Changes made in property dialogs now apply immediately

This affects the custom property editing as well as the editing of any
built-in properties for classes like ObjectGroup, ImageLayer, Map and
MapObject. To make this possible, some new undo-related classes were
introduced and some new notification signals.

This change is a preparation for allowing the property dialogs to be
replaced by a docked solution.
Added a Properties dockwidget

Displays properties of selected objects, tiles and layers at the moment.
Does not display other stuff like size, height, color, etc. yet. My plan
is to do that using the Qt Property Browser solution.
Added the Qt Property Browser solution

A planned replacement for the current primitive property editing table.

Based on qt-solutions revision 8926435d3f2b94ebfadc1bec5fd78cf0dfa5c2c8.
Introduced a PropertyBrowser for in the Properties dockwidget

The PropertyBrowser class extends QtTreePropertyBrowser and allows
editing of custom properties as well as built-in properties like layer
names, object size/position, etc.

There is currently no way yet to add/remove custom properties.

The plan is to allow the Properties dockwidget to replace the Properties
dialog.
Set the tree widget as focus proxy of the tree property browser

Makes the focus go to the tree widget when set on the property browser,
since it's not very helpful for it to stay on the property browser
widget.
Added actions for adding/removing a property to Properties dock

Also made Delete and Backspace work for deleting the selected property.
Unset the current object when it gets removed
Update the current object in a few more cases

Now the current object (displayed in the Properties dockwidget) also
changes when clicking object layers or objects in the Objects dock,
when clicking on a terrain and when clicking on a tile. Regardless of
whether the clicked object was already selected or not.
Used Properties dock instead of the dialog for tilesets

Support was added to the PropertyBrowser for Tileset objects, obsoleting
the separate Rename Tileset action since the name can simply be edited
in the Properties dock.
Disable the properties dock for external objects

Tileset, and as a result Tile and Terrain instances, may be stored in an
external file. Currently no changes are allowed when this is the case,
in order to avoid loss of information due to the lack of automatic
saving of changes to such external files.
Removed 'Tile Properties...' option from Tile context menu

Replaced by the Properties dock.
Removed 'Terrain Properties...' option from Terrain context menu

Replaced by the Properties dock.
Replaced Map Properties dialog with Properties dock

Now the layer format can be configured in the Properties dock,
obsoleting the Map Properties dialog.

The map itself is now also the initial value for the current object.
QtPropertyBrowser: Allow controlling whether to show text for bool values

This was a rather involved patch, but it avoids the need for using
private API or duplicating QtBoolEdit (which is in a private header).

Apart from adding support for this QtBoolEdit option to the
QtCheckBoxFactory and the QtBoolPropertyManager, the setting can also
be controlled via the 'textVisible' attribute associated with
QtVariantProperty instances.
Use the new attribute to hide the text of boolean properties
QtPropertyBrowser: Document the 'echoMode' attribute for string values
Moved up the 'Visible' attribute for objects

More closely matches the location of this attribute for layers.
Allow changing the image layer image in the Properties dock

Introduced a 'filePath' property with a special editor that features
a small button that opens up the file chooser. It also colors the text
to make it clear whether the file path exists or not.

The VariantPropertyManager, VariantEditorFactory and FileEdit classes
were based on the example from issue 18 of the Qt Quarterly [1]

[1] http://doc.qt.digia.com/qq/qq18-propertybrowser.html
Removed layer property dialogs

All layer properties, including those of object layers and image layers,
can now be edited in the new Properties dock.
Added completion to defined object types to the Properties dock

This was easier than adding support for an editable combo box. Hopefully
it's just as useful in most cases. It might make sense to automatically
add suggestions for any already used type in the future.