Added the old hooks as mixins for those who need an easier migration path from 2.4.x to 3.x

Should we raise a deprecation pending warning when those hooks are used?
I'd like to write tests for these mixins so don't merge but I'd like your general approval before I put more work into this.
No, that's a fundamental change - there isn't an instantiated unsaved object instance anymore, because we only create it at the point of save. Any pre save behavior in user code is going to need to properly reflect that.