Add support for 0-based partition IDs

Initial goal is to allow user commands to specify partition IDs as short integers `[0, ring_size)` instead of hash values. May consolidate other features such as Yokozuna's logical partitions later.
I think it may be useful but not sure we have a use-case for it to exist yet, which is what I was try to dig into. See my response to 2 & 3 in the previous comment.