Being able to just get() a future inside a thread is a very nice functionality,
but we should be more careful a to when we do it. In particular, we are doing this
in a function inside db::legacy_schema_tables, because that function is supposed to
be used - so far - only inside a threaded function.
That approach simplify things, but at a great reusability cost. That means that this
function can now only be reused inside thread code.
This patch turns the offender into a normal future function, and moves the get0() to
code that is directly under seastar::async.
As a rule of thumb, we should stay away from ever doing get / get0 in functions that
are not used directly by async code.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>