utils/fragment_range.hh: introduce fragment_range_view
utils/fragment_range.hh: introduce fragment_range_view

A lightweight, trivially copyable and movable view for fragment ranges.
Allows for uniform treatment of all kinds of ranges, i.e. treating all
of them as a view. Currently `fragment_range.hh` provides lightweight,
view-like adaptors for empty and single-fragment ranges (`bytes_view`). To
allow code to treat owning multi-fragment ranges the shame way as the
former two, we need a view for the latter as well -- this is
`fragment_range_view`.

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