Sets a new value in a nested object or a nested array using an array path, if the path does not exist create this