make sure that transactions have success and error methods
listen for error events and proxy them to the transaction
pass errors to the transaction callback if two arguments are expected
success/error event tests for transactions
only exec the error test for non sqlite dialects
Merge pull request #1221 from sequelize/hotfix/transaction-promise

Fix/Tests for #1218