ggit_diff_foreach: Prevent assertions with null callbacks

These callbacks are marked as `allow-none`, so `NULL` should be allowed for them. But the method does nothing if we don't supply any callbacks, so presumably that's what this assert was intended for. However, it currently fails if ANY of the callbacks are `NULL`, we only want it to fail if ALL of the callbacks are `NULL`.
1 job for master in 3 minutes and 2 seconds (queued for 40 seconds)