Force collection data to resolve as an array

Passing non-array data (or a promise that resolves with non-array data)
to the collection factory no longer results in a JS error when the
collection is being populated. Instead, the collection resolves
successfully but remains empty.