add [do_command] wml action tag

[do_command] executes commands like attack, move, recruit, etc.,
similar to those that may be found in [command] tags in replays.
These are executed in game immediately in a synchronized context,
similarly to as if a human or ai controller had ordered them.

It is also possible to use the command to fire a WML game event,
or to execute lua code from a synchronized context.

Only some of the children of [command] are valid in this tag.

With this tag, [issue_attack_command] and [issue_move_command] are
both deprecated and will be removed shortly.

Thanks to gfgtdf for both the idea and the implementation.
refactor test #6 to use [do_command]
change a warning to a log message, related to [attack] command

The core code seems to handle it just find when defender_weapon
is not present, so this warning seems unnecessary. This will make
it easier to use [do_command].
make [command] [attack] handler a bit friendlier

Now, it won't warn about mismatch with gamestate when you don't
specify attacker_type or defender_type.

Simplify unit test 6 accordingly.
remove [issue_attack_command], [issue_move_command]

also add some comments to [do_command] which replaces them.