Fix issues that GroupBy and Sample doesn't call 'unsubscribe' and also NPE when the key is null in GroupBy

Fix #1958
With a atomic wip counter I guess. But then you need a CAS loop to check if wip == 0 and do nothing.