Refactor zone_tree_apply()
zone_tree_apply() uses callback functions which return void. In almost every case, we need to report error status and we do it by adding this information into structure holding additional callback data. And at the beginning of the callback function we always check if the status value is still KNOT_EOK. If that is not true, we simply return from the function.
It would be better if the callback function itself returned status code, which will be evaulated by zone_tree_apply() and propagated to the caller.