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 see this being useful for CLI tools that want to take partition hash values and convert them to IDs for whatever reason. The calling code gets to decide what to do if the hash doesn't map properly rather than me throwing an error in `hash_to_partition_id/2`