callback with error message if default controller execution is timeout

Add a new test parameter, testWaitingTimeout.
It can be defined in config.js as config.testWaitingTimeout.
Otherwise, the default timeout is 60000 ms for default controller
execution.

The error message is
"Waiting controller execution timeout ("+timeout+" ms)."
Revert "callback with error message if default controller execution is timeout"

This reverts commit 74ad71c93089be858af013d7fa449298a361a202.
implement controller execution timeout.

The default timeout is 60000 ms (60 seconds)
User can provide a "testWaitingTimeout" in test parameter or config.
The "testWaitingTimeout" settings in test parameter will override all
other settings.
Modify unit test for callback after timeout

should callback after timeout to test if Arrow can handle the callback
correctly.
callback with error message if default controller execution is timeout

Add a new test parameter, testWaitingTimeout.
It can be defined in config.js as config.testWaitingTimeout.
Otherwise, the default timeout is 60000 ms for default controller
execution.

The error message is
"Waiting controller execution timeout ("+timeout+" ms)."
Revert "callback with error message if default controller execution is timeout"

This reverts commit 74ad71c93089be858af013d7fa449298a361a202.
implement controller execution timeout.

The default timeout is 60000 ms (60 seconds)
User can provide a "testWaitingTimeout" in test parameter or config.
The "testWaitingTimeout" settings in test parameter will override all
other settings.
Modify unit test for callback after timeout

should callback after timeout to test if Arrow can handle the callback
correctly.
debug version