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 this case our model is identical to the implementation. On one hand, that is ok -- the model should be ignorant of the implementation. On the other hand it could also be said that we are simply testing that erlang executes the same math in two different code blocks the same. It might be helpful to change the model to generate a ring of `?RINGSIZE(RingPower)` using `chash` and define `boundary_helper` by checking whether `HashValue` is one of the partition identifiers in the `chash`.