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()
Bump version to 0.8.0-SNAPSHOT
DRILL-1818: Fix complex projection pushdown

Also fixes:
Issue where converted type was lost when projecting two elements in a repeated type
Issue when selecting multiple elements in a repeated type, but using inconsistent casing
DRILL-1821: Fix issue where schema changes for previously defined field.
DRILL-1822: Update direct memory access operations to always be protected by bounds checking unless specifically disabled using the system property -Dbounds=false and Java assertions are also disabled.
DRILL-1769: Fix issue where option manager not holding settings.
Insert local exchange before HashToRandomExchange
Provide configuration for assigning number of partitioners per each node.