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
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.