Allow TimeDelta to have (well-defined) scales other than TAI

This is an attempt to address #1931, allowing `TimeDelta` with scales other than `tai`.
```
In [1]: from astropy.time import Time, TimeDelta

In [2]: t1 = Time(40000., format='mjd', scale='tai')

In [3]: t2 = Time(50000., format='mjd', scale='tai')

In [4]: dt = t2-t1

In [5]: dt, dt.tcg
Out[5]: 
(<TimeDelta object: scale='tai' format='jd' value=10000.0>,
 <TimeDelta object: scale='tcg' format='jd' value=10000.00000696929>)

In [6]: t2.tcg - t1
Out[6]: <TimeDelta object: scale='tcg' format='jd' value=10000.00000696929>

In [7]: t2 - t1.tcg
Out[7]: <TimeDelta object: scale='tai' format='jd' value=10000.0>

In [8]: dt.tdb
ERROR: AttributeError: 'TimeDelta' object has no attribute 'tdb' [astropy.time.core]

In [9]: dt_tdb = t2.tdb-t1.tdb

In [10]: dt_tdb, dt_tdb.tcb
Out[10]: 
(<TimeDelta object: scale='tdb' format='jd' value=9999.999999968359>,
 <TimeDelta object: scale='tcb' format='jd' value=10000.000155020338>)

In [11]: dt.tai
Out[11]: <TimeDelta object: scale='tai' format='jd' value=10000.0>

In [12]: dt_tdb.tai
ERROR: AttributeError: 'TimeDelta' object has no attribute 'tai' [astropy.time.core]
```