added a expand_boolean_subindex()

allows mapping a boolean index of a sub-set of an original array back
to that array. Also added capability of returning the necessary
subsetting index array from the DataMat.by_field() function to allow use
of this expand...() function to map indices into subsets of DataMats
back to the original DataMat: very useful for filtering of a DataMat
that requires by-field calculation and therefore cannot be done at the
level of the whole DataMat directly.