Fix: libservices: ensure completed ops aren't on blocked ops list
This refactors removal of a completed operation from the in-flight ops list
into a new internal function services_untrack_op(), which allows the
in-flight ops list and handle_blocked_ops() to be static to services.c.
The new function also ensures the op isn't on the blocked ops list,
which could otherwise result in a use-after-free bug.