fix save with habtm returning false
fix typo/coding style
clean code and remove unneeded checks
restore previous (erroneous ?) behaviour
Updated the default Cake routes to include a defaultRoute true flag to allow differentiation

Merge #3579 from davidyell/routing-markers onto 2.6

Fixes #3535
Merge pull request #3590 from Haititi/2.6-fix-habtm

2.6 fix save() with habtm returning error
add 'atomic' option to "save()" API

add a transaction context to 'save()' API in order to rollback possible modifications done
in some 'Model.beforeSave' listener callback.
this will allow cakephp 2.x to behave like 3.0 .
Add tests for 'atomic' option in save() API
fix callback name not compatible with phpinit
use skipIf() to check transactions support
Fix some travis indentation error
fix infinite loop due to wrong Event Manager
fix model name should be singular
fix wrong expected values in testSaveTransaction
update testSaveTransaction as it was not relevant

Validation occurs before the event is sent.
As the validation failed, event was not sent. So test was not relevant.
solution :
- use the global Event Manager.
- try to save a correct 'Post' data.
- the first time the callback is called, try to save a correct 'Article' data.
- the second time the callback is called, stop the event to rollback everything.
update testSaveTransaction as still not relevant

update (again) the test due to my stupidity.
- the second time the callback is called, the 'Article' data are still not saved, so there will be no data to rollback.
new test which will hopefully work :
- use the 'Post' specific Event Manager to attach the callback.
- when callback is called, try to save 'Article' data.
- assert Article->save() succeeded.
- stop event and return false to force rollback in Post->save()
fix typo
update testSaveTransactionNoRollback as not relevant

testSaveTransactionNoRollback was not relevant, as validation occurs out of transaction scope.
solution :
- use the callback 'callbackForTestSaveTransaction' as in 'testSaveTransaction' as the event dispatching is done in transaction scope.
use try/catch to better handle transaction

Rename previous save() API to protected _doSave() method.
create new save() method for transaction handling.
fix testSaveTransactionNoRollback test

set a returnValue 'true' to DboSource stubbed method 'begin'