Make pk_backend_job_call_vfunc() threadsafe

We have to keep a ref to PkBackendJob until the lifecycle is properly fixed.
trivial: Set good defaults in PkBackendJob directly
Tie the PkBackendJob to the PkTransaction lifecycle

This ensures we have a PkBackendJob available at all times in the PkTransaction
which allows us to nuke some internal caching. It also ensures the PkBackendJob
is valid *at all times* when the transaction is also running.

This should fix some hard-to-debug crashes when PK is under heavy load.