Replace the errno with the message to increase the efficecy for understanding of the problem.
Add the clean up mechanism that is performed even when a cutter's assertion fails.

The destructor of an instance on a function stack is not
called when a cutter's assertion fails, because it is based
on longjmp function. C++ specification doesn't
require the call of the destructor when longjump is called.

This patch dynamically allocate the 'ExecCommandActionContext'
instance and delete it in the teardown().