Remove unnecessary/dangerous buffer on watch error channel

Buffering the error channel is a bug waiting to appear.  The goroutine
will write to the error channel then immediately close the event and
error channels.

Consumers of these channels will now behave undeterministically.  They may
register the closure of the event channel instead of reading the error from
the error channel.

Instead, we remove the buffer which requires that the error channel be read
before the channels are closed.