[5.0] Fixing DB::beginTransaction() And DB::rollBack()

Examine regression bug fix in tests/Database/DatabaseConnectionTest.php.

---

If you execute this you can see that transactions don't behave like one might think they should. In the following code, you can see how this can cause problems for a developer using transactions.

```
	DB::rollBack();  // nothing keeps this from happening
	
        print DB::transactionLevel() . PHP_EOL; // -1

	DB::beginTransaction(); // transaction does not start here... 

        DB::table('some_table')->insert([...]); // change to some table

	print DB::transactionLevel() . PHP_EOL; // 0

	DB::rollBack();  // rollback is not applied here

	print DB::transactionLevel() . PHP_EOL; // -1
```

---

Related issue: #6360.
Should the event be fired if transactions still > 0?