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.
this test is the same as `prop_ids_are_boundaries`. The `HashValue` is projected to the partition id that owns it, and then we execute the same code.