dht::ring_position_view: use token_bound from ring_position
dht::ring_position_view: use token_bound from ring_position

Currently dht::ring_position_view's dht::token constructor takes the
token bound in the form of a raw `uint8_t`. This allows for passing a
weight of "0" which is illegal as single token does not represent a
single ring position but an interval as arbitrary number of keys can
have the same token. dht::ring_position uses an enum in its dht::token
constructor. Import that same enum into the dht::ring_position_view
scope and take a `token_bound` instead of `uint8_t`.
This is especially important as in later patches the internal weight of
the ring_position_view will be exposed and illegal values can cause all
sorts of problems.

avikivity/scylla,scylladb/scylla,duarten/scylla,duarten/scylla,avikivity/scylla,scylladb/scylla,avikivity/scylla,duarten/scylla,scylladb/scylla,scylladb/scylla