Introduce label distribution heuristics.

 o Add .heuristics() method to kernel
 o Heuristics are persisted on shutdown
 o Samples random nodes every 30 seconds
 o Expand job scheduler to allow cancelling jobs