Fixes for a couple of hive test hangs that show up on slower VMs

1. Move the postfetchBufList freeing code AFTER worker threads are gone.
That way we are sure no one is using these buffers nor needs them. This
would avoid the case where a very slow worker thread is blocked waiting
for a free buffer while the main thread is not consuming .

2.Fix for each worker thread to post a wakeup before going away. This
change is to avoid the "lost wakeup" problem where one thread was busy
and never got a chnace to get woken up.

This has ben pre-reviewed by Suresh.
All dev regressions were run.
Hive tests were run on the slower VM.

Change-Id: I513f1c7d62c1f8227a176a4f90c9b22083696e9e
Merge "Fixes for a couple of hive test hangs that show up on slower VMs"