I was going for conformity by using the IClonable interface, but it doesn't look like we use it anywhere else in the project.
Timing points can't fallback to defaults and must be added at least once.
Will be removed in https://github.com/ppy/osu/pull/6604
Not sure why these aren't being detected on master right now - they should be...
Less static weirdness
Fixes up deserializing.
Enforces at CI.