zb,zm: Make API consistent wrt ObjectPath arguments
We've a specific type for object paths but for convenience we've been allowing string types to be passed as object paths that we internally convert to ObjectPath or OwnedObjectPath. However, we've been inconsisten on this practice and require ObjectPath to be passed by the user in some places.
This commit attempts to make the API consisten w/o dropping the convenience. We now expect users to always pass something that can be converted into an ObjectPath, which includes both &str and String.
API BREAK!!
While a lot of existing code (especially client-side) will continue to build and work against this commit, this is very much an API break.