Prevent TypeMap '0' being useful
Better assert if a Job is leaked
Allow a higher priority TaskGetKey to install over a lower priority one

Means sometimes 2 TGKs for the same key are active at once, but only the
higher priority one is guaranteed not to deadlock.