comment typo
Define `PluginHelper` interface and use that instead of *PipelineConfig as
argument type for Input.Start().
Merge branch 'dev' into features/handoff-pipeline

Conflicts:
	pipeline/config.go
	pipeline/inputs.go
Merge branch 'features/whisper-output' into features/handoff-pipeline
Merge branch 'dev' into features/handoff-pipeline
First round of phase 2 of major pipeline redesign changes. Work in progress.
slightly kludgey workaround to shutdown panics caused by closed channels.
First pass at re-organizing the config loading code.
Make sure we aggregate even if we don't get a hit exactly on the interval count.
Avoid a race condition where we close the monitor's channel too early.
Fix some initialization, shut down, and pack recycling bugs exposed by functional
and flood testing.
Merge pull request #43 from mozilla-services/features/message_matcher

Features/message matcher
Add benchmark tests (this is just the start)

- Addressed a few performance issues with access to the Message
Fields
- Updated the read_message API to take the field and array indices
as parameters instead of embedding it in the string (saves parsing
and conversion)
Updated tests to match latest design changes, now passing.
Merge pull request #46 from mozilla-services/features/benchmark

Add benchmark tests (this is just the start)
Add 'MatchRunner' struct in the pipeline package so we can still have the
MatcherSpecification in the message package and avoid circular imports.
Merge branch 'dev' into features/handoff-pipeline

Conflicts:
	pipeline/config.go
	pipeline/filters.go
	pipeline/router.go
Remove commented code and fix an intermittent test failure due to a race condition.
attribution
Start ticking from when we start, not when we init.