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.
In general I prefer to retain unit tests that test a specific historic failure case, but since the failures were stupidity on my part, the code has not yet made it into a release, and the EQC tests do cover them pretty thoroughly, I'll drop them.