Fix transactions do not get rollbacked in saveAssociated/saveMany

Fixes #2849

Also I have fixed several rollback tests.
Previously, they call rollback() regardless of whether data is valid or not.
(For example, testSaveAllManyRowsTransactionNoRollback will pass even if Post.title is not empty)
It seems correct to me.
Diffs may be confusing sometimes.