The -1 default was getting stored to the database.
Fixes #2151.
It's too early for this.
Resolves ppy/osu#1988.
Tidy things up, move logic out of SampleInfo.
And make it more general.