Add `PostTimeout` function

This patch makes 4 changes:

- Adds `PostTimeout` function that lets you tell go-notify to time out after a specific time duration for output channels that are blocking. 

- Adds `StopAll` function that lets you unregister all channels listening for a given event.

- Moves the `E_NOT_FOUND` error string to a constant so the output string is only specified in a single location.

- Adds an `outChans` variable that is used to store the results of `events[event]`, so the map lookup doesn't have to happen multiple times unnecessarily.

The `PostTimeout` and `StopAll` functions are both particularly useful from within test code, when you might be exercising code that sets up event listeners that are otherwise beyond control of the tests themselves.