Change implementation of TimeFromEpoch to support all scales

The original TimeFromEpoch (base class for 'cxcsec' and 'unix' formats)
required that the scale be TAI.  This caused errors or failure when trying
to convert to a different scale or initializing a new Time from such
a TimeFromEpoch format object.

    t = Time(100.0, format='unix')
    t2 = t.utc  # crash
    t2 = Time(t, format='iso')  # crash

New implementation does on-the-fly conversion to TAI for converting
to and from JD.  This is more expensive but makes these formats work
like any other format and not be restricted to a particular scale.
Eliminate Time._scale attr and always use Time._time.scale via Time.scale property
Add test of initializing with a TimeFromEpoch format Time object
Merge pull request #593 from taldcroft/time-from-epoch

Fix failure to convert Time objects with format='unix' or 'cxcsec'