Support custom mcagent timeout

* support Timeout::Error for case when agent off by timeout;
* add data about the relationship between the timeout limits
specified in the DDL and in particular running agent;
* increase limit for execute_shell_command magent;
* refactoring.

Change-Id: Ib259ec5c59fd8f903839e8ca487480c7ea29cb38
Closes-Bug: #1268701