made data cleanup after a migration happen in the foreground #214 #379

Vanilla MongoDB checks for cursors in the chunk, and if any exist, it
starts a background thread that waits for those cursors to leave before
doing the delete.  We have MVCC so we don't need to wait, we can just do
the delete.

Doing the cleanup on the background is a problem for some workloads,
because these big deletes hold a read lock for a long time, and future
migrations wait behind them for a DBWrite lock.  This is a bottleneck for
all client activity that now has to wait behind the DBWrite lock.  By
doing the deletes in the foreground before returning from the migrate
command, we should prevent this particular bottleneck from appearing.

closes #379
Merge branch 'bugs/379'