use AR to check changes and previous values in callbacks

fixes CNVS-10345

test plan:
- basic regression test of assignments, assignment groups, and submissions,
  specifically around behavior that should happen after they are changed, like
  grades being updated

Change-Id: I8e2f21376bb1b993f30f03de3606158eab893849
Reviewed-on: https://gerrit.instructure.com/28246
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>