This exception is always raised within `np_utils` so to me it makes sense to define it there.

The intent with `np_utils` was to keep this module essentially "pure numpy" (no astropy dependencies), with the idea that I might eventually ask numpy whether they are interested in putting any of the routines into numpy.

(np_utils.py does currently depend on the astropy backport of OrderDict, but that's not a real astropy dependence).