Fix for issue #225 (exception when running with ATOMIC_REQUESTS), and the same applied to deleting subtrees

All explicit transaction handling has been moved to the model layer, and
uses transaction.commit_on_success or transaction.atomic, depending on the
Django version.
Added tox.ini and instructions, for easy running of tests in multiple environments