Fill in hidden PK before calling Store#lock

The lock method was being called prior to the hidden PK column was populated.

Rows coming from an INSERT have -1L as a placeholder so the code as is didn't yield incorrect locking but had the effect of serializing concurrent inserts to tables with no declared PRIMARY.

This fixes the client-tools LoadClientTest.

Note that the new test here didn't fail loudly as the error appeared as a regular rollback (from conflicting lock), but manual inspect shows that those retries are now gone in the common case.