schema_tables: fix deadlock in cross-node communications
schema_tables: fix deadlock in cross-node communications

Seastar wrongly limits the number of concurrent submit_to()s to a single
remote shard.  This can cause an ABBA deadlock:

  fiberA                fiberB (x127)
  submit_to(0)                         # lock schema
  <- returns
                        submit_to(0)   # lock schema (waits)
  submit_to(0)                         # do work (waits)

The fiberBs wait for fiberA, which in turn waits for a fiberB to return.

While the correct fix is to remote the client-side limit and replace it
with a server-side per-verb limit, we start with a simpler fix that
replaces the blocking lock call with a non-blocking call, removing the
deadlock.

Fixes #1088.

Message-Id: <560978be8c25839a964141ecaf95337e0ad5d878@scylladb.com>

raphaelsc/scylla,duarten/scylla,kjniemi/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla,kjniemi/scylla,raphaelsc/scylla,kjniemi/scylla,raphaelsc/scylla,avikivity/scylla,duarten/scylla,duarten/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla