Use a promise based API for Record.pre_validate()

Closes #12039
7 jobs for !223 with topic/default/nicoe-pre_validate-api in 10 minutes and 55 seconds (queued for 4 seconds)
merge request