MBS-5650: Extend edit approval transaction boundaries over race condition

We had a race condition when approving edits, in that between fetching the edit
to determine whether or not an editor can approve it and actually doing the
approval, another request could close the edit. This would result in an
exception when actually doing the approval, as the edit would no longer be open.

This commit changes the transaction boundaries so that the edit is locked for
the check, and the lock extends to actually approving the edit.