Moving `real_timer` to use `priority_list`; numerous fixes.

It's close to be completed, just need to implement `cancel` and a way to
check if an element is in the list - possibly `priority_list::find()`,
then I can move to implementing PIT and HPET.