utils: compact-radix-tree: detemplate array_of<>
utils: compact-radix-tree: detemplate array_of<>

The radix tree template defines a nested class template array_of;
both a generic template and a fully specialized version. However,
gcc (I believe correctly) rejects the fully specialized template
that happens to be a member of another class template.

As it happens, we don't really need a template here at all. Define
a non-template class for each of the cases we need, and use
std::conditional_t to select the type we need.

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