Don't preserve equinox when transforming with SkyCoord

I find the following example confused me and it cost me a fair amount of time to debug vs kapteyn:

```
In [5]: c = SkyCoord(1. * u.deg, 1. * u.deg, frame=FK5, obstime=Time('J2000', scale='utc'))

In [6]: c.transform_to(FK4)
Out[6]: <SkyCoord (FK4: equinox=J2000.000, obstime=J2000.000): ra=0.999659097220236 deg, dec=0.9999930797297883 deg>
```

The issue is that while there is no sensible default for ``obstime``, and it makes sense to keep the one defined before, the default equinox for FK4 should be ``B1950`` and it should really only be changed explicitly, so I would expect the final ``SkyCoord`` above to be in B1950.

Basically I'm advocating for two different kinds of attributes in frames - attributes that default to ``None``, and attributes that default to a value ``B1950``. In the above case, the ``FK4`` frame would assume the default equinox of ``B1950`` while for ``obstime`` it would be default to ``None`` so then ``SkyCoord`` would just use the value specified before.

@eteq @taldcroft @cdeil - what do you think?
Maybe add one final test where you do
```
c2 = c.transform_to(FK5(equinox='J1990'))
assert c2.equinox.value == 'J1990.000'
assert c2.obstime.value == 'J1980.000'
```
that is, make sure to catch the case of explicitly overwriting with the `transform_to` frame.