managed_bytes: avoid compile-time loop in converting constructor
managed_bytes: avoid compile-time loop in converting constructor

managed_bytes_basic_view is a template with a constructor that
converts from one instantiation of the template to another.
Unfortunately when gcc encounters the associated constraint, it
instantiates the template which forces it to evaluate the constraint
again, sending it into a loop.

Fix that by making the converting constructor a template itself,
delaying instantiation. The constraint is strengthened so the set
of types on which the constructor works is unchanged.

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