Fix bug where a % in a serialized array can lead to the data being broken
It turns out that is a field in a serialized array has a %2 (for example) this gets swapped in executeQuery for the
%2 value (in this case srcID - rendering the serialized array invalid. This proposes that we
explicitly handle arrays as a data type in compose query.
Some thoughts
1) we could make serialized arrays valid types in validate (not done here)
2) we could iterate through the array keys & values escaping them -
at this stage it's left in the calling function
3) there are whole bikeshed factories to keep in business on discussion of whether
'Array-1', 'Array-2' etc are the right format