Update XML, fix several scripts that were broken by field name changes
Fix some signed/unsigned mismatch warnings and whitespace in Job module.
Add new API functions for creating announcements and combat reports.

Allow specifying the announcement flags directly, and adding unit
combat reports. Also, make announcement functions write the message
to the game log.
Use the new official gamelog output function in soundsense-season.
Use the new API to produce combat reports for aimed siege engine attacks.

This requires exposing the actual operator unit to lua code.
Account for meandering movement when predicting unit path in siege engine.

The movement is random, but there is an average slowdown coefficient.
Remove tired or hungry siege operators from duty when at peace.

The threshold is set at the level when they start to blink - normally
they would continue on with the job until they get a thirsty/hungry
thought, but immediately run off to eat if they lose the job (thus
refusing to load the engine after firing it). The code checks for
active sieges and whether there is a free replacement unit.