trivial: Add thread checks for PkNotify
Remove the PkNotify singleton and move the useful code to PkBackend

At one point this made sense, but the information flow was laughable.
PkNotify was a singleton created by three different layers, and signals flowed
from backend->PkNotify->PkEngine sometimes and PkBackend->PkNotify->PkEngine
other times.

Just put the two required methods in PkBackend and make everything a lot
simpler: PkBackend->PkEngine
trivial: Remove the unused pk_backend_job_not_implemented_yet()
trivial: Remove the unused pk_backend_implement()
trivial: Remove the unused pk_backend_spawn_get_backend()