Sync array names in python selection extraction.

Distributed dataset with unevenly distributed arrays (ie. some
nodes had attribute arrays that others did not) would cause the
MPI reduce call to hang. This was due to nodes with missing data
arrays to throw NameErrors while looking up the arrays in the query,
preventing them from partaking in the MPI collection.

Fixed by syncing data array names so that all processors have a valid
iterable in scope to allow the lookup to succeed. This also required
modifying the global_min and global_max algorithms to work with empty
input iterables.

Change-Id: I8374ae31270fa5892b25e3e7e10c2ab89ffadfe2
Merge topic '9808-distributed-query-selection' into next

e346ce77 Sync array names in python selection extraction.