fixes tooltip bug, script nicknames, caged civs

- updated how the unit's are refreshed on commits/clears so it's more
optimized and doesn't do an entire read. this also resolves the issue
where preferences and skills were doubled/tripled because each time a
pending commit was cleared, a full read of everything was done
- updated the buffer size when writing/reading the labors (it was too
large)
- added the nickname() function for scripts
- changed the validation for caged creatures to allow for caged civ
members to still show up (untested)
expand grouped items when filtering
40.09 layouts (win/linux) update lua script
Make QML/QtScript inclusion conditional on version
Remove OS-specific entries from .gitignore.

.gitignore should only store items that are generated by the code in the
repository. If your operating systems generates temporary files, put
those in your .gitignore_global.
Mv etc -> share, use applicationDirPath (fixes #30)

Also build outside of bin.
Add DATADIR, search_paths for game_data.ini
Add .travis.yml, build out of bin
Add Qt4/5, debug/release dual build to .travis.yml
Merge branch 'qmlscript' into DF2014
Merge branch 'share' into DF2014

Conflicts:
	.gitignore
	dwarftherapist.pro
Merge branch 'travis' into DF2014

Conflicts:
	dwarftherapist.pro
Merge branch 'travis-qt5' into DF2014