Raise an error when given a known bad path.

There are a few cases where a bad path (`nil`, the empty string, and a string that doesn’t start with `/`) could cause the client to make a nonsense request to the arbiter. Rather than make this request and rely on the URL arbiter to fail, we can add checks in the client to make sure that all the requests make sense.
This error is misleading if the path you supplied was something like `first-level/second-level`. I may have missed something though.