This required using the new Steps::GetTimingData function and the allowEmpty
parameter to TimingData::TidyUpData when appropriate, as well as clearing the
TimingData to remove step timing rather than coping the song timing over it.
Fixes some odd editor behavior when changing song timing, and is overall a
slightly less hacky way of doing things.
[TrailEntry] Allow TrailEntry to push itself, making Lua bindings possible. TrailEntry's Lua bindings include GetSong(), GetSteps(), IsSecret() and GetNormalModifiers().