Throws more specific exceptions from TxManager#resume

There are two possible failures that can happen in #resume:
 (1) The current thread has already got another transaction associated with it
 (2) The transaction to be resumed is already associated with another thread

These two failures got their own exceptions: ThreadAssociatedWithOtherTransactionException and
TransactionAlreadyActiveException so that callers can react appropriately
to the two scenarios. Typically there's special handling of (2). Doing
this made UnableToResumeTransactionException redundant, and it was too
generic to begin with as it represented both (1) and (2).

This commit also tidies up and corrects logging regarding old transactions
on the master which are to reaped, so less logging and more relevant
logging there.