内側のトランザクションでrollbackされている場合に、外側のトランザクションでcommitできないよう修正

nested transactionのエミュレーション時に、内側のトランザクションでrollbackする状況というのはDBで致命的エラーが出ていることが多いはずで、外側でcommitするコードになっているとしたらそれ自体がバグである可能性が高いように思います。また、そもそも外側でcommitできないような仕組みがあってもいいと感じます。

実際、Propel1系でPDOをラップしているクラスPropelPDOではそのような実装になっており、納得できる考え方だと思うので輸入してみました。