Added a .gitattributes file for line endings

This generally makes sure Windows users do not get in trouble when they
do not have core.autocrlf set to 'true'.
Use depend_includepath rather than setting DEPENDPATH manually

Based on Qt Creator commit 700732683779a862091b19336ef980801e412395.
Small tweaks to help and version output on console
Fixed possible crash when a tileset changes

Reviewed-by: Thorbjørn Lindeijer

Not every tileset watched by the tileset manager is displayed in each
tileset dock. Wrong assertion introduced in commit 0c89ea0e1568b66d8c.
Fixed empty tileset view after removing a tileset

Bug repro steps:

1. Create new map
2. Add new tileset
3. Add new tileset
4. Go to Tilesets dock and click Remove Tileset button

The first tileset should be deleted and the selected tileset should switch
to the second tileset. However, the tileset view is blank.
Silence a GCC warning when compiling against Qt 5

Actually we don't need to print an empty string to get a newline.
The warning is due to -Wformat-zero-length.
Added a TMX rasterizer

Renders a map with a specified scale, without collision layer and object
groups.
Excluded some files from source releases

They are only relevant when working with git.
Don't display tilesets without terrains in the Terrains dock

Closes #257
Added image layer support to Lua and JSON plugins

This also changes the "transparentColor" tileset property name to
"transparentcolor" in the Lua export for consistency (all the other
keys are lowercase).

Closes #320
Removed context help button from Edit Terrain dialog

There is no context help so there should not be a context help button.
Improved display of tileset names in terrain view

I'm not entirely happy with it, mainly since terrain names are no longer
aligned when some of them have no tile assigned yet, but I think it's
good enough.
Fixed updating of tileset name in terrain list on undo/redo
Removed unused member variable

Detected by clang++ (-Wunused-private-field).
Fixed updating of Terrains list when adding/removing tilesets

The TerrainModel was not correctly notifying views about these changes.
Fixed crash when having multiple tilesets with terrain

The terrain brush will now refuse to look for ways to transition between
terrains from different tilesets, which is better than crashing in this
situation.
Removed explicit Rename Layer action

You can now rename layers using F2 only when the layer list has focus.
The advantage is that you can now also use F2 to rename objects or
terrains.
Show/Hide Other Layers action now uses undo commands

Needed for consistency with using undo/redo for toggling individual
layer visibility.
Fixed crash in terrain brush when dealing with unset tiles

This crash was introduced in 43fef0db20f3691714b88785c54211d47b23e7b0,
when the null check was removed from Tile::terrain.

The edge functions are only used by the terrain brush, so they have now
been moved there, with the null check reintroduced.
Replaced 'unsigned int' with 'unsigned'

I prefer brevity to verbosity in this case, they mean the same.