Allow valueList to iterate through the elements of an array input

I tried to use ValueList in a template, only to learn that when the vector is not a string, the ValueList stores a single element in the array containing comma-separated values. This is not a problem at all in the default templates, because they add , anyway, and thus even with the bug the result is the same. But when you need to do something different than separating values with commas, it won't work.

So I added behavior that makes sure to split the values. Also made Value return the comma-separated string directly when that's what you want. And added a new constructor for  to make it all work.