ftp: provide limited support for command pipelining

Globus(Online) client can issue commands after initiating a transfer.  The current behaviour
is to fail the command; however, Globus(Online) considers the transfer as failed if this
happens.  The problem seems to be triggered when transferring a file from dCache with
data-verification enabled.

To satisfy these demands, this patch introduces a blocking-mode for processing commands
when a transfer is underway.  With this mode, the thread processing an FTP command will
block until the transfer has completed (successfully or otherwise) and the final
response has been sent.  Since the response is sent by the message thread, this does
not introduce a dead-lock.

The blocking mode is enabled only when dCache detects the client is the Globus(Online)
transfer client.  We can consider enabling it more generally once more experience is
gathered.

Target: master