Update array elements when calling JSONConfiguration::set* with array[index] expression

Fixes issue #393 by updating specified element in the array, when an index greater than the array length was specified, the array will be expanded to store the element at the specified index. Elements created due to array expansion are evaluated to `null`