validate locale only when changed

fixes errors caused by trying to save an object with a locale
that no longer exists

fixes #CNVS-16331

Change-Id: Iea28d40050f3eabcb6433592db1a5086074c9dd6
Reviewed-on: https://gerrit.instructure.com/43142
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>