Store: Fix slow consumer bug

`Store` panics without this fix. I have added the test first. You can see it yourself. 

To fix the bug, I remove `watcher` when `EventChan` buffer fills up instead of just closing the channel. To be able to do this I needed to move locking from `remove()` to `Remove()`.