Fix orphan user rows on concurrent OAuth identity race
create_user now catches Unique_violation from the identity insert and
deletes the just-inserted user row before re-raising. Added delete_row
to ocaml-sqlite for generic table row deletion (with index cleanup).