Better fix for 295590
(problem reported in bug 307082, comment 8).
Solution applied is similar to what is in 307082 patch
(i.e. do not destroy the internal helgrind var if nWaiters > 0).
But also do not remove it from the FM.

+ add a test case (re-using the drd test case)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13329 a5019735-40e9-0310-863c-91ae7b9d1cf9
Undo void change done as part of rev 13329



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13330 a5019735-40e9-0310-863c-91ae7b9d1cf9