DRILL-1812: Avoid calling stop() in SingleSender in rpc thread
DRILL-1813: Fix race condition in UnlimitedRawBatchBuffer

Also change propagated exception to IOException instead of RuntimeException.

Don't mark a fragment as failed if it has been cancelled.
DRILL-1814: Check if writer state is OK before performing copy in copyAsValue() and copyAsField()