scripting: add support for .cmd() semantics in scripting

This script introduces two changes to scripting:

1. It rearranges the ActionInterface::readArguments/execute/reset semantics
when mapped to DataSource::evaluate/rvalue/reset functions. This had some
influence on the flow of executing (remote) operations, but all cases have been
rectified.

2. It adds to the parser a look for '.cmd' suffix on operation calls,
 which is similar to '.send', but yields the script execution until
the send returns something else than SendNotReady. The result of a .cmd
call is a SendStatus which can be read/used by the script itself.

This has been tested on C++ operations and exported script functions.
'cmd' called operations will not update their arguments when SendSuccess is
returned and the return value of the operation is ignored.

Signed-off-by: Peter Soetens <peter@thesourceworks.com>