dont add gettext paths/domains twice

having the same path multiple times in a boost locale generator slows
down generate() significantly.
update the locale lazily

Updating it whenever we add a new messages path or domain could have a
bad performance.
fix convert old saves

This fixes loading start of scenario saves form 1.10.x

We also use clear_children instead of remove_child to work around  a bug
with config::remove_child and config::has_child : if we remove all of
the configs childs with remove_child then has_child still returns true.