Breaking change: All the entities with an `id` property have String ids, but all
endpoints that take ids used `u64` ids. This changes that so that all
the methods that take ids, take them as `&str`.
This is useful for user code, which can use the trait to add a layer of
indirection to their code, allowing them to swap out implementations for
testing