Don't try to array_combine two empty arrays

This fixes the case where there are no consumers attached to the analytics instance. Basically, `array_combine` requires that both arrays have a value, otherwise it throws an error. We shouldn't be calling `array_combine` with two empty arrays in the first place--the result will always be an empty array in that case--so this is a minor optimization, but it also prevents unit tests from failing (since they never have consumers attached).

ping @PascalZajac 
What we were seeing is that PHP has an undocumented behavior when both arrays are empty: PHP just straight out dies with a fatal.

In theory, it should never be the case that you have a mismatch of the number of elements, since `getConsumerNames` iterates over the consumers list to pluck out class names, and these iterate over the consumers list to call their respective functions. The only edge case that I saw here was that when the consumer list is empty, you get two empty arrays, and evidently `array_merge` doesn't like that.