actually the stopping channel doesn't fit super well inside the
OperationController itself since the tasks are handled above that
abstraction layer, but storing it inside makes my life incredibly
simpler so im gonna do that for now
added some const functions to calculate leading and tailing noops, made
apply() and process() return Range<u64>. actors implementation is still
awful but will do them properly in the future
now everything that worked in 0.2 seems to work again, and should
actually be better. plus, merging differences is done properly and thus
should be way more reliable