fix data races in controller

Fix #305
Because this particular ``Watch()`` implementation will always return an error. In this case, the upper layer will send a signal to the stop channel and close that channel, which makes ``WatchStop`` invalid. Then a subsequent write  to ``WatchStop``, which happens at ``replication_controller_test.go:477``, will fail because ``WatchStop`` is closed.