Initial work to support per-map data format.
Allow saving in a format other than default.

By default the global setting is used, regardless of what format the map was in.
Unconditionally respect the original encoding of a loaded map.
Merge pull request #244 from o11c/master

Respect existing layer format of all loaded maps.
Fixed small documentation error
Removed unneeded include

layer.h is already included in the header file.
Moved layer data format preferences handling to TmxMapWriter

It doesn't really belong in MapDocument. The main reason however is that
doing it in MapDocument would conflict with the next patch.
Save As dialog can save in all formats it is safe to save in

* All Plugins, which can be read as well, can be used for
  saving as well.

* MapDocument class contains a new member (mWriterPluginFileName),
  which determines in which format the map should be saved.
  (It needs to be set accordingly, when opening a new File)

* The plugin manager has some more conversions.

* MapDocuments setFileName (only used by its saving function)
  is private now.

Closes #18.

Reviewed-by: Thorbjørn Lindeijer
Introduced a minimap

This is a quite stable running navigator or minimap.

With the help of MapRenderer a small version of the map is rendered into
a buffer image. The minimap rendering is copied from the screenshot
function and offers several flags to finetune the rendering.

For detecting mapchanges I used the indexChanged-event offered by
QUndoGroup. That does a pretty good job. Minimap rendering can be
expensive as it has to draw the entire map. To prevent slowdowns during
painting an (optional) timer is used that drops all redraw calls until
100ms are elapsed.

The overall performance impact seems to be okay. At least on my machine
(win7 64bit, quadcore i7 with good graphics card). This certainly needs
to be tested in different environments.
Fixed some compiler warnings

Unused variable and initialization order warnings.
Coding style fixes
Remove special directories for moc, ui, rcc output and objects

Not specifying special directories for these files simplifies the needed
parameters to `cppcheck`.

If the build directory is supposed to stay clean, a shadow build should
be done.
Fixed include style for math.h

Noticed since using 'local first' include style makes `cppcheck` complain
about not being able to find the file.
Silence a bunch of cppcheck warnings

This includes one actual bugfix: the missing initialization of
LuaTableWriter::m_suppressNewlines.
Added static code analysis to the .travis.yml file
Flareplugin: fix objects layer, if layer already exists.
Removed option that is not available yet in cppcheck 1.52
Avoid crashing on roaming scroll bar pointers

Happened after closing the last map and then opening a new one.
Bumped version to 0.9.0 and updated NEWS file

This is not the release yet, but it is an attempt at signalling a soft
feature freeze so that we may start polishing for release.
Fixed some issues with the minimap

* Corrected small issues with updating the mouse cursor.
* Use the background color specified by the map and otherwise default to
  the same color used by the MapScene.
* Do delayed repaint of the image also on resize events and when switching
  maps, for performance reasons.
* Fixed pixel rounding glitches in viewport indicator rectangle.
* Specify a minimum size of 50x50 pixels.
* Implemented sizeHint() to return 200x200 to get a decent default size.