Fixing transaction validation report to incorporate all the reported problems.

In previous implementation it was possible that transaction entered prepared state
even if some of its children task validations were not finished. This fix changes the validation
order in the way child validations are executed first, parent validations second.
The order shouldn't matter from 'validation' point of view because validation phase
is just about reporting problems only. But new validation order is crucial for transaction
to collect all validation problems before entering PREPARED state.

Fix description:
 * introduced new VALIDATE_WAIT controller state. It was placed after EXECUTE_DONE and before VALIDATE phase
 * when entering this new state, we're sending VALIDATE_REQ signal to our children
 * when all the children were validated, we're leaving this VALIDATE_WAIT state and entering VALIDATE one