update pipeline to call teardown of output workers when :workers > 1

fixes https://github.com/elasticsearch/logstash/issues/2178
I think we should refactor to avoid having to check `output.workers > 1`. I suggest that outputs should always be initialized in `worker_plugins` and `worker_plugins.size == 1` means there's one worker. `output.workers` does not need to be exposed, `worker_plugins.size` is sufficient. this will allow to deal consistently with workers and this could be rewritten as just:
```ruby
output.worker_plugins.each(&:teardown)
```