Read track list only once for each Disc object.
Renamed last_track_num to last_track_number and first_track_num to first_track_number
Added test for discs with first track not 1
Some code simplification.