Angle subclasses should decide on class; correct Latitude.__setitem__, doing
validation upfront and ensuring no temporary object is created
Add test case to ensure out-of-bounds setting of items doesn't corrupt input
Rewrite use of _validate_angles in __setitem__ following @taldcroft's comment
Merge pull request #1851 from mhvk/angles-move-array-wrap

Let Angle subclasses decide on class of calculation results; correct Latitude __setitem__