IMPALA-1043: Fix incorrect resource cleanup in data stream recvr.

The issue is that resource cleanup was happening in Cancel(). This is almost
always incorrect since cancel happens asynchronously and there could be other
threads still using those resources. In this case, the blocking join is still
using the memory.

This patch moves the cleanup to Close(), which always happens synchronously,
on the main thread. This guarantees that all objects are in a good state for
cleanup.

Change-Id: I5b0ac097f64401f7f17c5ddc2b63859dda659068
Reviewed-on: http://gerrit.ent.cloudera.com:8080/3006
Reviewed-by: Nong Li <nong@cloudera.com>
Tested-by: Nong Li <nong@cloudera.com>