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)