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)
You could do this before the if and save an else clause.