Reland "Disallow array-of-arrays with DescriptorSets when validating. (#1586)" (#1621)

This CL reverts the revert of 'Disallow array-of-arrays with DescriptorSets when
validating." Other changes have been committed which should aleviate the
AppVeryor resource constraints.

This reverts commit f2c93c6e124836797311facb8449f9a0b76fefc2.

This CL adds validation to disallow using an array-of-arrays when attached to a
DescriptorSet.

Fixes #1522