1. Deduce most parameters, remove machine-specific headers.
2. More selective includes of <sys/runq.h> to reduce pollution
3. Hide function prototypes under _KERNEL
4. API tidy up: 'pri' => 'idx', 'idx' as int, remove runq_remove_idx()
(knows some ULE's internals).
5. Code clarity and style
6. Better and more consistent naming; More macros
7. Re-order functions more logically
8. Revamp runq_find*(), new runq_find_range()
9. runq_check(): Re-implement on top of runq_findq()
10. Tidy up and rename runq_setbit() and runq_clrbit()
11. New function runq_is_queue_empty(); Use it in ULE
12. New runq_findq(), common/unique low-level search implementation
taking a range of queue indices and a predicate.