JSON job params

This PR adds a new `JSONDictionary` column type, and uses it to store job parameters. This will give us flexibility to have job parameters that are numbers, lists or dictionaries in addition to strings.