temporarily disable check for backwards compatibility

this commit brings backwards compatibility between 1.13.0 and 1.13.0-dev
it should be reverted when 1.13.0 comes out.
disable get_user_choice during prestart events

get_user_choice usually shows a dialog to the user. Because we shouldn't
use the screen during prestart events i disabled it there.

this commit might contain spelling corrections.
allow user_choice in prestart for invisible choices
fix 21905

we have one events_disabler when starting the replay_controller and a
second when entering the synced context. Thats why we have
events::commands_disabled == 1 and >1 when we are executing an action.
use const config& for value check

the intention is to remove the annoying
async=""
dependent=""
undo=""
in replays.
disable RESET_REPLAY during actions

this caused assertion errors.
enable undo recruits/recalls if no rng was used

If we used rng during an acion we can never undo it becasue it is an nonundoable information gain. Also it's technicaly impossible because in mp using rng will result in data send over the network, which cannot be undone. Wedon't need to check whether the unit had traits/names this was becasue that would also have caused rng calls.
removes unused variable

is_determisic_mode_ was accidently placed there during rebasing i think
disallow undo when action was sended

we now disallow undoing actions that we already sended over the network.
We also disallow undoing moves when the rng was invoked like it's done
for recruits/recalls already.
revmoved unused code

this typedef was a leftover from my original plan to pass functions to
run_in_synced_context. I decided to pass strings to
run_in_synced_context at some time.