Fixed gabordemooij/redbean#284

1. `R::begin()`, `R::commit()` and `R::rollback()` support transaction nesting protection just like `R::transaction()` did. In other words, calling `R::begin()` twice in a row will not throw an exception on databases that do not support nested transactions anymore.
1. Introduced `$skipDepthCheck` argument for `R::begin()`, `R::commit()` and `R::rollback()` methods allowing user to enforce transaction nesting for whatever reason (defaults to false, causing transaction not to nest).
1. Introduced `isInTransaction` method, that allows user to check if there is any opened transaction for whatever reaosn. (Will not work if user opens or closes transactions with raw SQL queries.)
1. Introduced `getTransactionDepth` method, that allows user to check the nesting depth of active transaction for whatever reason. (Will not work if user opens or closes transactions with raw SQL queries.)