Ensure Angle subclass is conserved when changing unit

Currently, when changing unit on a `Longitude` or `Latitude`, and `Angle` is returned:
```
from astropy.coordinates import Angle, Longitude, Latitude
Longitude('120d').to('hourangle')
```
yields
```
<Angle 8h00m00.00000s>
```
This should of course remain a Longitude; this PR corrects that (and adds a regression test)