ipipe: add out-of-band tick device
The out-of-band tick device manages the timer hardware by interposing on selected clockevent handlers transparently, so that a client domain (e.g. a co-kernel) eventually controls such hardware for scheduling the high-precision timer events it needs to. Those events are delivered to out-of-hand activities running on the head stage, unimpeded by (only virtually) interrupt-free sections of the regular kernel code. This commit introduces the generic API for controlling the out-of-band tick device from a co-kernel. It also provides for the internal API clock event chip drivers should use for enabling high-precision timing for their hardware.