Fix the NotInTransactionException mistake. 


 * Pure reads and queries also need to be in transactions in 2.0.
 * PlaceboTransaction is a perfectly valid thing for beginTx to return.
 * Always remember to close transactions when we are done with them.
 * If success() has not been called on a transaction, then it is assumed failed
   when it is closed, so there is usually no need to call failure() explicitly.