agent_commands: don't try to run non-existing functions

After a failure to resolve the called function, we can proceed no more.
extra/options: let configure the logging format

In some cases, we want a rich format for log messages, eg. including
the timestamp.
json_helpers: at this protocol, datetimes must be sent as strings

So far, the client assumes all dates/times are in string format, not
native objects.

In the future, we may define an alternative RPC-JSON format with more
native types.