add array sugar to chain filters
support run and validate tasks via codec config

custom commands run off codec config via the hocon runner class (
previously it just parsed into json and fed back to the normal
json-based task runner). to make things easier and to support
job validation (which ignores the command), I added autodetection.

the autodetection is a bit of a hack atm -- if CodecJSON complains
about the lack of top-level braces, then we retry with CodecConfig.