bus: Don't return success from RemoveMatch if there was no such match-rule
-
bus: Separate RemoveMatch into prepare and commit stages
This means we don't send a spurious successful reply if a caller removes a match rule that they never added.
-
test: Exercise successful and failed RemoveMatch calls
Reproduces: #351