bring back unit_advancements_aspect

by moving code from synced_commands.cpp to actions/attack.cpp so that it
can be directly called from ai/actions.cpp
fix mp obervers

the provious code would skip important code in the replay if we found
"speak" commands after it. Thats because in
9aa98030049bfd4b485ab276efa664baf38586cd i did changes in playturn.cpp
so that add_config and then do_replay was called, before
9aa98030049bfd4b485ab276efa664baf38586cd do_replay was called before
add_config.