json_decoder , json_encoder

- Decoder
  - takes a log line with a json and converts it to fields on the
  Heka message
  - write to `message.Fields` for any key that has a string value
  - this allows taking advantage of Heka message matchers,
    which can match (nested) *Field* values, but can't as easily do
    complex processing on the *Payload* string
  - decoder supports payload w json substring
- Encoder
  - payload must be JSON-string only (no other chars)
  - can use PayloadRegexDecoder style formatting to write new fields
    e.g. Payload = "My new payload is %fieldname%"
    where fieldname is extracted from the json such as
    {"fieldname":"hello world"}
update rafrombrc gomock, as used throughout heka
mock output runner - implement Stoppable
json_decoder - allow writing Fields of various data types

- the NewField and AddField methods in Heka interally handle
mapping a field to the right data type

  https://github.com/mozilla-services/heka/blob/5566ffbf28dde9da64a3ffa0665f8cc378e6b8fc/message/message.go#L225-243

- allows string, integer, and boolean comparisons, e.g.:

  ```toml
  message_matcher = "Type == 'Json' && Fields[title] == 'TITLE'
    && Fields[truthy] == TRUE && Fields[value] > 5"
  ```
json_encoder - interpolate any value from json to message_fields

- instead of just strings before, we now stringify all JSON value
  types via json.Marshal
    -> strings
    -> ints, floats
    -> booleans
    -> objects
Merge branch 'master' into INFRA-374-json-decoder
move test files to `<filename>_test.go`, so they dont get built

- allows removing testify from external plugins in heka-private
Merge pull request #6 from Clever/INFRA-374-json-decoder

json_decoder , json_encoder