Correct determination of scaling in NDUncertainty.uncertainty.setter
A simplistic solution to providing some proper ordering to FrameAttributes.  This should provide a reasonable enough solution to #2845 in the cases we care about right now.  The only visible change to users is that the return value of get_frame_attr_names is now an OrderedDict instead of just a dict.  But that should't affect any actual results.
Add a changelog entry for this fix
Merge pull request #2845 from embray/coordinates/issue-2845

Make frame attributes appear in __repr__ in a deterministic order
Merge pull request #2944 from mhvk/nduncertainty-scaling-bug

Correct determination of scaling in NDUncertainty.uncertainty.setter
Introduce __numpy_ufunc__, adjust tests

The calls to super rather than ufunc in __mul__, __truediv__, etc.. allow
allows quantity / timedelta to work, as quantity.__truediv__(timedelta)
will correctly return NotImplemented
Ensure testing doesn't segfault due to numpy #4855