* initialiseSchedulers: factor out shared code.
* Proxy setFuelSchedule\d through generic
setFuelSchedule() function
* Directly call setFuelSchedule
* Simplify unit tests
* Proxy setIgnitionSchedule\d through generic
setIgnitionSchedule() function
* Directly call setIgnitionSchedule
* Simplify unit tests
* Optimize by partially inlining
the set[Fuel|Ignition]Schedule funcs
* Use the embedded schedule compare
& counter members instead of using
hardcoded individual channel macros.
* Unit test adjustCrankAngle