Clean up use of DAO::nullArray
In days gone by when you could not not pass something to a fn with a pass-by-reference a helper was added
CRM_Core_DAO::_nullArray
The idea was this would stand in for an empty array & save having to create a throw away one.
However as it was being passed to a fn that used pass-by-reference it could pick up values & if used twice the second time it would have 'random' values from the first call. Recent difficult trouble shooting found this to be the root cause of some test fails when code run in isolation of other tests but not in a suite, or vice versa.
We don't know if there are any bugs outside tests from this but randomness is generally bad in code.