Switch the existing Message struct with a protocol buffer Message struct
check error return when extracting the field's value array
Add GetFieldValue helper function and additional unit tests
Remove tmp work files
Only have a single pipeline, all messages processed serially.
Forgot to recycle the packs.
Use channels to feed the pipeline packs to the outputs so the pipeline isn't
blocked on synchronous file and/or network access.
Get rid of internal channel for the counter output since we're guaranteed to
be in series now.
Add support for mem profiling output (in addition to cpu profiling).
Map the old JSON field format into the protocol buffer format

The JSON map is flattened into a series of name/value pairs to conform with
the protocol buffer array of attributes.  The dot notation in the name represents
the flattened hierarchy i.e., "item.name"
Add a Protobuf decoder
Add protobuf encoders, decoders, and TCP transport
Remove bytes import
Merge branch 'features/protocol-buffers' into features/serial

Conflicts:
	pipeline/pipeline_runner.go
support use of tcp sender as an option to `flood` utility.
meant to use `Println` instead of `Printf`
Don't throw away the first (two) plugin(s) we create.
Simplify the code a bit b/c we don't care about the nil struct that we throw
away.
Remove debug code.
Merge branch 'dev' into features/serial_safeplugins

Conflicts:
	pipeline/config.go
	pipeline/inputs.go
	pipeline/pipeline_runner.go