Argument to save() to create new version

Add an argument to Versionable's save method to automatically create a
new version upon save. Also, add a setting called SAVE_CREATES_VERSION
to do this automatically on every save.
Properly handle new objects
Merge branch 'uneditable' into easyrevision
Merge branch 'master' of https://github.com/swisscom/cleanerversion into easyrevision
Merge branch 'uneditable' into easyrevision
Add tests for creating a new version via save()
Remove unused import
Merge branch 'master' of https://github.com/swisscom/cleanerversion into easyrevision
Use transactions to prevent stale db entries

If save fails, the save wrapper used to leave behind a cloned but
unmodified entry. This change uses database transactions to make sure
the save is atomic.
Make the current property stackable

Add the current property to the VersionedQuerySet class, thus making it
stackable.