fix save with habtm returning false
fix typo/coding style
clean code and remove unneeded checks
restore previous (erroneous ?) behaviour
Merge pull request #3590 from Haititi/2.6-fix-habtm

2.6 fix save() with habtm returning error