Suspends the transaction in a finally block

since we must uphold the contract where the transaction must have been
suspended no matter what happens before leaving that method.

(cherry picked from commit c82701d2a0bddf39b77e795638bd98555fc46540)

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/TransactionImpl.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/com/master/MasterImpl.java