Add error stream API to EventRouter

Related to https://github.com/fluent/fluentd/issues/472

With `@ERROR`, emitted events are routed to `@ERROR` label with log message.
Without `@ERROR`, emitted events are logged in Fluentd's logs.

Using this API, Output / Filter plugins can treat invalid records without stopping multi-event stream.
For example, `out_mongo` sends valid records to MongoDB and invalid record to local file.
Another case, if Filter plugin hits an unexpected error, then Filter can send such record to `@ERROR` and continue to apply processing to remaining events.

I will add RootAgent related class tests.