Throw TransactionTimedOutException in case of a transaction processing time out

Related to #3830, details are there.
yes, we've missed the compatibility issue.
how about wrapping TimeoutException in TransactionException for 3.3.2 and maintenance ?